标签:sha json .text shel 进程 语句 iter getcwd hand
time--时间模块
时间三大类:
时间戳与结构化时间可以互相转换
结构化时间与格式化时间可以互相转换
datetime 日期时间模块(datetime包中有datetime模块)
方法
sys 解释器模块
方法
os 操作系统模块
os:
*os.path:
random 随机模块
方法:
shutil 高级文件操作模块
方法
序列化模块:
序列化是指将内存中的数据结构转化为一种中间格式并储存在硬盘上
反序列化是将中间格式还原为内存中的数据结构
序列化模块可以更加方便的将数据存入硬盘
1.pickle python专用序列化模块(支持python所有数据类型)
方法:
序列化
user = {}
with open(‘db.pkl‘,‘ab‘) as f:
x = pickle.dumps(user)
f.write(x)
with open(‘db.pkl‘,‘rb‘) as f:
pickle.dump(user,f)
with open as f:
pickle.loads(f.read())
pickle.load(f)
2.shelve python专用序列化模块(支持python所有数据类型)
shelve方法不需要关心文件模式
序列化
user = {}
s = shelve.open(‘db.shv‘) #打开文件
s[‘user‘] = user
s.close()
反序列化
s = shelve.open(‘db.shv‘,writeback=True)
x = s[‘user‘]
print(x)
s.close()
3.json 通用序列化模块
json是一种通用的数据格式
js 中的数据类型 python数据类型 的对应关系
{} 字典
[] list
string "" str
int/float int/float
true/false True/False
null None
json格式x.json:
user=
{
"users": [{
"name": "agon",
"age": 68
},
{
"name": "agon",
"age": 68
}
]
}
方法:
dumps
loads
dump
load
序列化
with open(‘db.json‘,‘wt‘,encoding=‘utf-8‘) as f:
f.write(json.dumps(user))
反序列化
with open(‘‘db.json,‘rt‘,encoding=‘utf-8‘) as f:
user = json.loads(read())
4.xml 比较旧的通用序列化模块
xml格式a.xml:
<标签>
<标签>
<标签>内容</标签>
</标签>
</标签>
可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标
签。这种语法是在?于符号之前紧跟一个斜线(/)
解析器会将其翻译成<百度百科词条></百度百科词条>。
例例如<百度百科词条/>。
方法
form xml.etree import ElementTree as ET
tag = ElementTree.Element(‘标签’,{‘属性’,‘值’})
root = append(tag)
ETree.write(‘‘db.xml‘,encoding=‘utf-8‘)
configparser 配置文件模块
配置文件是包含配置程序信息的文件
需要改但不经常改的信息为配置信息
配置文件中有两种内容
section 分区和option 选项
logging 日志文件模块
日志配置文件组成部分
日志生成器 loggers(产生书写日志的配置文件)
过滤器 filters()
处理器 handlers(将信息打印到相应的日志文件)
格式处理器 formatters(将信息格式化)
默认级别30 级别大于30日志才显示
logging.debug() 写入调试信息10
logging.info() 普通消息20
logging.warning() 警告30
logging.error() 错误40
logging.critical() 严重错误50
mylog = logging.getLogger(日志生成器) 创建(获取)日志生成器
mylog.setLevel(10) 设置生成器级别
fh = logging.FileHandler(日志名,encoding) 创建一个日志处理器
fm = logging.Formatter(格式)
logging.config.dictConfig() 解析日志配置文件
将mylog,fh,fm关联
mylog.addHandler(fh)
fh.setformatter(fm)
日志继承值propagate默认True True为继承False为不继承
mylog.propagate = Flase
流处理器StreamHandler()让格式化信息显示在控制台
logging.StreamHandler()
%(name)s:Logger的名字,并非用户名,详细查看 %(levelno)s:数字形式的日志级别 %(levelname)s:文本形式的日志级别 %(pathname)s:调用日志输出函数的模块的完整路径名,可能没有 %(filename)s:调用日志输出函数的模块的文件名 %(module)s:调用日志输出函数的模块名 %(funcName)s:调用日志输出函数的函数名 %(lineno)d:调用日志输出函数的语句所在的代码行 %(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示 %(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数 %(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 %(thread)d:线程ID。可能没有 %(threadName)s:线程名。可能没有 %(process)d:进程ID。可能没有 %(message)s:用户输出的消息
hashlib hash算法加密模块
hash算法是将一个仁义村的数据根据hash算法计算得到一个固定长度的特征码
h = hashlib.md5(‘123’,encoding=‘utf-8’) md5加密(32位特征码)
hashlib.sha512() sha512加密(128位特征码)
h.hexdigest() 获取特征码
加盐
hashlib.md5(‘123‘.encode(utf-8)).update(‘asdfghjkl‘.encode(utf-8))
re--匹配字符串模块(正则表达式)
正则表达式-- 由一些带有特殊意义的符号组成的式子,可以处理字符串
subprocess--子进程模块
标签:sha json .text shel 进程 语句 iter getcwd hand
原文地址:https://www.cnblogs.com/sw-z/p/9813094.html