模块之json,pickle,os,sys,logging
json模块
- 序列化: 将python的数据类型存成 json串
- 反序列化: 将json串 读成python的数据类型
跨平台
dict/list
dic = {'a':1}
# 内存中转化
data = json.dumps(dic)
data = json.loads(data)
# 文件中转化
with open() as fw:
json.dump(dic, fw)
with open() as fr:
data = json.load(fr)
pickle模块
不能跨平台,但是支持python所有数据类型
dic = {'a':1}
# 内存中转化
data = pickle.dumps(dic)
data = pickle.loads(data)
# 文件中转化
with open() as fw:
pickle.dump(dic, fw)
with open() as fr:
pickle = json.load(fr)
os模块
用来和操作系统交互
os.path.join() # 拼接地址
os.path.listdir() # 列出文件夹内的所有文件
os.path.dirname() # 获取上一级目录
os.path.abspath() # 获取文件的绝对路径
os.path.exists() # 文件是否存在
sys模块
用来和python解释器交互
sys.argv # 用cmd执行python文件的时候获取参数
sys.path # 获取环境变量
logging模块
import logging
# 1. 生成logger对象
logger = logging.getLogger('nick')
logger1 = logging.getLogger('jason')
# 2. 格式
formmater1 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',)
formmater2 = logging.Formatter('%(asctime)s : %(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',)
formmater3 = logging.Formatter('%(name)s %(message)s',)
# 3. 打印对象
h1 = logging.FileHandler('h1.log')
sm = logging.StreamHandler()
# 4. 打印对象绑定格式
h1.setFormatter(formmater1)
sm.setFormatter(formmater2)
# 5. logger绑定打印对象
logger.addHandler(h1)
logger.addHandler(sm)
# 6. 设置级别
logger.setLevel(50)
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')