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'')