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'购买了娃娃 个)
posted @ 2019-09-28 20:23  鸿鸿1  阅读(115)  评论(0编辑  收藏  举报