一、time&datetime模块
常用选项如下:
|
二、random模块
random随机数模块,用于生成随机数字
生成随机状态码方法:
1 import random
2 import string
3 print(random.random())
4 print(random.randint(1,5))
5 print(random.randrange(1,3))
6 ---------第一种方法----------------------------------
7 str_source = string.ascii_letters + string.digits
8 print(random.sample(str_source,7))
9 ----------------第二种方法----------------------
10 check = ""
11 for i in range(5):
12 current = random.randrange(0,5)
13 if current !=i:
14 temp = chr(random.randint(65,90))
15 else:
16 temp = random.randint(0,9)
17 check+=str(temp)
18 print(check)
三、shutil模块
高级的文件压缩包处理模块
1 import shutil
2 shutil.copyfile("s1.py","s4.py")#copy文件
3 shutil.copy("s1.py","s4.py")#copy文件和权限
4 shutil.copy2("s1.py","s4.py")#copy文件和状态信息
5 shutil.copymode("s1.py","s4.py")#仅copy权限
6 shutil.rmtree(r"C:\Users\Administrator\PycharmProjects\s15\day1\a") #递归的删除文件
7 shutil.move(r"C:\Users\Administrator\PycharmProjects\s15\day1\lock",".") #移动文件
8 ret = shutil.make_archive("test",'gztar',root_dir=r"C:\Users\Administrator\PycharmProjects\s15\day1")
9 #test目标文件名,gztar 压缩类型,root_dir要压缩的文件路径
四、shelve模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
|
五、xml模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单。
xml格式如下,就是通过<>节点来区别数据结构:
xml
xml协议在各个语言都是支持的,在python中可用使用以下模块操作:
xml使用
六、ConfigParser模块
用于生产和修改常见配置文档,举例如下:
ConfigParser
七、hashlib模块
用于加密相关的操作,用法如下:
1 import hashlib
2 m = hashlib.md5()
3 m.update(b"Hello")
4 m.update(b"It's me")
5 print(m.digest())
6 m.update(b"")
7 print(m.digest()) #2进制格式hash
8 print(len(m.hexdigest())) #16进制
9 import hashlib
10 hash = hashlib.md5()
11 hash.update('admin')
12 print(hash.hexdigest())
13
14 hash = hashlib.sha256()
15 hash.update('admin')
16 print(hash.hexdigest())
17
18 hash = hashlib.sha512()
19 hash.update('admin')
20 print(hash.hexdigest())
21 python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密
22
23 import hmac
24 h = hmac.new('wueiqi')
25 h.update('hellowo')
26 print h.hexdigest()
八、日志模块
python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error() and critical()
1 import logging
2 logging.basicConfig(filename='log.log',level=logging.INFO,format='%(asctime)s %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')
3 #logging.basicConfig(format='%(asctime)s %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')
4 logging.debug("debug")
5 logging.info("info")
6 logging.warning("warning")
7 logging.error("error")
8 logging.critical("critical")
9 logging.log(10,"log")
日志格式
如果需要将log打印在屏幕里,需要用到handler,Python使用logging模块记录日志主要涉及四个主要类:
logger提供了应用程序可以直接使用的接口;
handler将(logger创建的)日志记录发送到合适的目的输出;
filter提供了细度设备来决定输出哪条日志记录;
formatter决定日志记录的最终输出格式。
九、re模块
常用正则表达式符号
|
最常用的匹配语法
|
关于反斜杠问题:
与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\"表示。同样,匹配一个数字的"\\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。