博客整理day16 os/sys/json/pickle/logging模块

Python day16 模块

os模块

​ os模块常用方法

import os
#os模块 #与操作系统交互,控制文件/文件夹

#对文件操作
# 判断是否为文件  isfile()
res = os.path.isfile(r'')
print(res)

#删除文件  remove()
os.remove(r'')

#重命名文件  os.rename()
os,rename(r'',r'')

#对文件夹操作
#判断是否为文件夹  os.path.isdir()
os.path.isdir()

#创建文件夹   os.mkdir()
os.mkdir(r'')

#删除文件夹  os.rmdir()
os.rmdir(r'')

#列出文件夹内所有文件   os.listdir()

res = os.listdir(r'')

​ os模块辅助性方法

#当前文件的所在文件夹  os.getcwd()
res = os.getcwd()

#当前文件的所在路径  __file__  pycharm独有  os.path.abspath(__file__)
res = os.pathabpath(__file__)

#文件的文件夹  os.path.dirname()
os.path.dirname

#拼接文件路径  os.path.jion()
res = os.path.jion(os.path.jion(os.path.abspath(__file__)),'img','test.jpg') 

#判断路径是否存在   os.path.exists()
res = os.path.exists(r'')

sys模块

​ sys模块常用方法

#sys模块: 与python解释器交互

#当时用命令行式,接收多余的参数  sys.argv
res = sys.argv

#拿到当前导入的模块  sys.modules.keys()
sys.modules.keys()

​ sys需了解方法

print(sys.api_version)

print(sys.copyright)

print(sys.version)

print(sys.hexversion)

json模块

# json模块: 跨平台数据交互,json串

#序列化:按照特定的规则排列(json串-->跨平台交互,传输数据)
#反序列化:按照特定的规则把jason串转化成python/java/c/php需要的数据类型

import json

dic = [1,(1,2)]
res = json.dumps(dic)#json串中没有单引号
print(type(res),res)#跨平台数据交互

res = json.loads(res)
print(type(res),res)
dic = {'a':True, 'b':None}
#序列化字典为json串,并保存文件
import json
def dic():
    print('func')
with open('test.json','w',encoding='utf8') as fw:
    json.dump(dic.fw)
    
#反序列化
with open('test.json','r',encoding='utf8') as fr:
	data = json.load(fr)
	print(type(data),data)

pickle模块

#pickle模块:不夸平台,针对python所有数据类型,如集合,使用方式和json一样

def func()  #针对地址而言,只存了一个函数名
	print('func')

with open('test.pkl','wb') as fw:
    pickle.dump(func,fw)
    
def func():
    print('hello')
with open('test.pkl','rb') as fr:
    data = pickle.load(fr)
    print(type(data),data)
    data()   #只能取到函数名

logging模块

#logging模块:日志模块
#1. 配置logger对象
simple_logger = logging.Logger('simple')

#2.配置格式
formmater1 = logging.Formatter('%(asctime)s - %(name)s -%(thread)d - %(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('simple.log')
sm.StreamHandler()

#4.给handler配置格式
h1.setFormatter(formmater1)

#5.把handler帮顶给logger对象
simple_logger.addHandler(h1)

#6.直接使用
simple_logger.info(f'')

原文地址:https://www.cnblogs.com/samoo/p/11603995.html