DAY18、常用模块
一、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、常用模块的更多相关文章
- day18常用模块之re模块
简单认识正则表达式 正则测试工具:http://tool.chinaz.com/regex/ 元字符,单个字符匹配 . 匹配除换行符以外的任意字符 \w 匹配字母数字下划线(word) \s 匹配任意 ...
- DAY18 常用模块(二)
一.随机数:RANDOM 1.(0,1)小数:random.random() 2.[1,10]整数:random.randint(1,10) 3.[1,10)整数:random.randrang(1, ...
- python 常用模块(一): random , time , sys , os模块部分知识.
1.常用模块:(1)collectiaons模块 (2)与时间相关 time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json , pickle 2 ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化
生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...
- 进击的Python【第五章】:Python的高级应用(二)常用模块
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
- python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
- day--6_python常用模块
常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...
随机推荐
- SpringSecurity自定义AuthenticationProvider和AuthenticationFilter
AuthenticationProvider 默认实现:DaoAuthenticationProvider 授权方式提供者,判断授权有效性,用户有效性,在判断用户是否有效性,它依赖于UserDetai ...
- 认识JWT
1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该 ...
- docker-compose使用备忘(转)
Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排. Docker-Compose将所管理的容器分为三层,分别是工 ...
- linux 指令备忘
linux 指令备忘 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和"..& ...
- Office组件无法正常使用的解决方法
问题与现象 开发时调用Office组件,代码编译是通过的,但在运行时当ApplicationClass对象初始化后程序出现异常. 异常信息如下: 无法将类型为“Microsof ...
- 简简单单的Vue2(简单语法,生命周期,组件)
既然选择了远方,便只顾风雨兼程! __HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 简单入手 组件 在上面文章,我们简单的讲了前端框架的工程化,也就是MVVM,还有特别聊 ...
- Java学习点滴——Class和反射
基于<Java编程思想>第四版 前言 我们要操作一个类实例对象时,一般都要先知道这个类有哪些方法或者成员变量.反射就是在我们不知道这个类有哪些方法或成员变量时,使用特定方式得到类的这些信息 ...
- json-sever 配置与应用
先安装 node.js. 全局安装 json-server: npm install json-server -g 检查是否安装成功: json-server -h 安装好后,json-server的 ...
- ORA-12520 TroubleShooting
同事反馈他连接一个新搭建的测试数据库时,报"ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序"错误,在解决他这个问题时,顺便分析.总结一下ORA ...
- 使用sftp操作文件并添加事务管理
本文主要针对文件操作的事务管理,即写文件和删除文件并且能保证事务的一致性,可与数据库联合使用,比如需要在服务器存文件,相应的记录存放在数据库,那么数据库的记录和服务器的文件数一定是要一一对应的,该部分 ...