模块之json,pickle,os,sys,logging

json模块

  1. 序列化: 将python的数据类型存成 json串
  2. 反序列化: 将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')
posted on 2019-09-12 20:38  十七zz  阅读(123)  评论(0编辑  收藏  举报