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'购买了娃娃 个)

转载于:https://www.cnblogs.com/hj59988326/p/11604695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值