一、random:随机数
1、(0,1) 小数:random.random()
2、[1,10] 整数:random.randint(1,10)
3、[1,10) 整数:random.randrange(1,10)
4、(1,10) 小数:random.uniform(1,10)
5、单列集合随机选择1个:random.choice(item)
6、单列集合随机选择n个:random.sample(item,n)
7、洗牌单列集合:random.shuffle(item)
8、例:
import random
def random_code(count):
code = ''
for i in range(count):
num = random.randint(1,3)
if num == '1':
tag = str(random.randint(0,9))
elif num == '2':
tag = chr(random.randint(65,90))
else:
tag = chr(random.randint(97,122))
code += tag
return code print(random.count) 二、shutil:可以操作权限的处理文件模块
1、基于路径的文件复制:shutil.copyfile('source_file','target_file') #两个路径
2、基于流的文件复制:with open('source_file','rb')as r,open('target_file','wb')as w:
shutil.copyfileobj(r,w)
3、递归删除目标目录:shutil.rmtree()
4、文件移动:shutil.move('a/aa.py','b/bb.py')
5、文件夹压缩:shutil.make_archive(目标文件,'zip',存放路径)
6、文件夹解压:shutil.unpack_archive(目标文件,存放路径,'方式(看格式)('zip','gztar')') 三、shevle:可以用字典存取数据到文件的序列化模块
将序列化文件操作dump与load进行封装
s_dic = shelve.open('target.txt') #注:writeback=True操作数据会同步写到文件
1、序列化:存
s_dic['key1'] = [1,2,3,4,5]
s_dic['key2'] = {'name':'Bob','age':18}
  s_dic['key2'] = 'abc'
  s_dic.close()
2、反序列化:取
  s_dic = shelve.open("target.txt", writeback=True)
  print(s_dic['key1'])
  s_dic['key1'][2] = 30
  print(s_dic['key1'])   print(s_dic['key2'])
  s_dic['key2']['age'] = 300
  print(s_dic['key2'])   print(s_dic['key3'])
  s_dic['key3'] = 'def'
  print(s_dic['key3'])
  s_dic.close() 四、标准输入输出错误流
1、sys.stdout.write('msg') #print('msg',end='')
2、sys.stderr.write('msg')
3、msg = sys.stdin.readline() 五、logging:日志模块
1、root logging的基本使用:五个级别
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.fatal('fatal')
logging.critical('critical')
2、root logging的基本配置:
logging.basicConfig(
level=logging.DEBUG,
#stream=logging.stdout,
format='%(asctime)s-[%(levelname)s]:%(message)s',
#filename='owen.log',
handlers=[handler1,handler2]
)
3、logging模块四个核心:
Logger | Filter | Handler | Formater
#规定输出源
handler1 = logging.FileHandler('owen.log',enconding='utf-8')
handler2 = logging.StreamHandler()
#规定输出格式
fmt = logging.Formatter(
fmt='%(asctime)s-%(name)s-%(levelname)s:%(message)s',
datefmt='%m-%d %H:%M:%S %p)'
4、logging模块的配置与使用
配置文件:LOGGING_DIC = {}
加载配置文件:
logging.config.dictConfig(LOGGING_DIC)
logging.getLogger('log_name')

DAY18、常用模块的更多相关文章

  1. day18常用模块之re模块

    简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...

  2. DAY18 常用模块(二)

    一.随机数:RANDOM 1.(0,1)小数:random.random() 2.[1,10]整数:random.randint(1,10) 3.[1,10)整数:random.randrang(1, ...

  3. python 常用模块(一): random , time , sys , os模块部分知识.

    1.常用模块:(1)collectiaons模块 (2)与时间相关  time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json  ,   pickle 2 ...

  4. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  5. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

  6. python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化

    生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...

  7. 进击的Python【第五章】:Python的高级应用(二)常用模块

    Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...

  8. Python模块之常用模块,反射以及正则表达式

    常用模块  1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...

  9. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  10. day--6_python常用模块

    常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...

随机推荐

  1. 教你编写百度搜索广告过滤的chrome插件

    1 前言 目前百度搜索列表首页里,广告5条正常内容是10条,而且广告都是前1到5条的位置,与正常内容的显示样式无异.对于我们这样有能力的开发者,其实可以简单的实现一个chrome插件,在百度搜索页面里 ...

  2. 《C#并发编程经典实例》学习笔记—2.5 等待任意一个任务完成 Task.WhenAny

    问题 执行若干个任务,只需要对其中任意一个的完成进行响应.这主要用于:对一个操作进行多种独立的尝试,只要一个尝试完成,任务就算完成.例如,同时向多个 Web 服务询问股票价格,但是只关心第一个响应的. ...

  3. .Net Core 实践 - 如何在控制台应用(.Net Core)使用appsettings.json配置

    新建控制台应用(.Net Core)程序 添加json文件,命名为appsettings.json,设置文件属性 如果较新则复制.添加内容如下 { "MyWords" : &quo ...

  4. 第一册:lesson 113.

    原文:Small changes. question:Who has got some small changes? Fares,please! Trafalgar Square,please. I' ...

  5. Mysql 的 create as 和create like 区别

    大家可能使用Navicat Premium时发现很方便,比如复制表或数据结构等,其实这种复制表数据或结构方法就是create table as 和create table like 这种方式实现细心的 ...

  6. 学JAVA第十七天,接口与抽象方法

    JAVA接口可以让代码更加有合理的规范性,就想一个项目小组,组长要负责把成员的代码整合,但是每个成员写的方式都是按照他们自己的想法来写的, 所以,整合起来就非常麻烦. 但是,如果我们的组长制作了一个接 ...

  7. 升级SCCM 2012R2 SP1故障解决

    故障一: 上周7月5号进行升级sccm至2012 R2 SP1的操作,执行升级程序splash.hta,在最后核心程序安装步骤失败,关闭升级程序,打开SCCM控制台报错如下: Configuratio ...

  8. vue-render函数和插槽

    Vue render函数,官方文档定义绝大部分时候我们使用template 来创建html 模板,但是纯html 和css都基本上都不具有编程能力,而当我们想使用 javascript的编程能力时,我 ...

  9. setTimeout传参 和 运行机制

    1.setTimeout 传参数 setTimeout还允许添加更多的参数.它们将被传入推迟执行的函数(回调函数) 上面代码中,setTimeout共有4个参数.最后那两个参数,将在1000毫秒之后回 ...

  10. thinkphp5.1验证器场景验证中传参的方法。

    一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' =& ...