os/sys/json/pickle/logging模块
os模块
os作用:与操作系统交互,控制文件/文件夹
对文件夹操作:
os.rmdir(r'文件路径') # 删除文件夹***
os.mkdir(r'文件路径') # 创建文件夹***
os.listdir('文件路径') # 列出当前文件夹下的所有文件***
# 辅助性
res = os.getcwd() # 当前文件所在的文件夹
res = os.path.abspath(__file__) # 当前文件所在的具体路径 __file__ 为pycharm独有
os.path.dirname(__file__) # 获得当前文件的的上一层文件夹***
os.path.jion(os.path.dirname(__file__),'mood.jpp') # 拼接路径***
对文件操作:
os.path.isfile(r'') # 判断是否为文件
os.remove(r'') # 删除文件***
os.rename(r'',r'') # 重命名文件
sys模块
与python解释器交互
res = sys.argv # 当使用命令行式运行文件,接收多余的参数
json模块
json模块:跨平台数据交互,为json串类型
序列化:按照特定的规则排序 (json串--->跨平台交互,传输数据)
反序列化:按照特定的规则把json串转换成python/java/c/php需要的数据类型
dic = {'a':1,'b':2}
res = json.dumps(dic) # 序列化 jon串没有单引号
json.loads(res) # 反序列化
# 序列化字典为json串,并保存文件
with open('text,json','w',encoding='utf8') as fw:
json.dump(dic.fw) # dump针对文件,dumps针对内存
# 反序列化
with open('text.json','r',enconding='utf8') as fr:
data=json.load(fr)
pickle模块
json模块:不跨平台,针对python所有数据类型,使用方式和json一模一样
序列化:按照特定的规则排序 (json串--->跨平台交互,传输数据)
反序列化:按照特定的规则把json串转换成python/java/c/php需要的数据类型
s = {1,2,3,4}
with open('text.pkl','wb') as fw:
pick.dump(s,fw)
with open('text.pkl','rb') as fr:
data = pickle.load(fr)
logging模块
logging级别
# 日志级别(如果不设置,默认显示30以上)
logging.info() # 10
logging.debug() #20
logging.warning() #30
logging.error() #40
logging.critical() #50
日志的基本配置
import logging
logging.basicConfig(filename='access.log',
format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: % (message)s',
datefmt='%Y-%m-%d %H:%M:%S %p',
level=10)
logging.info() # 10
logging.debug() #20
logging.warning() #30
logging.error() #40
logging.critical() #50
自定义配置
# 1.配置logger对象,作为绑定对象,负责生产日志
jim_logger = logging.logger('jim')
# 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.配置handler--->往文件打印or往终端打印
h1 = logging.FileHandler(jim.log)
sm = logging.StreamHandler #往终端打印
# 4.给handler配置格式
h1.setFormatter(formmater1)
sm.setFormatter(formmater3)
# 5.把handler绑定给logger对象用
jim_logger.addHandler(h1)
# 6.直接使用
jim_logger.info(f'jim'购买了娃娃 个)