软件目录规范、logging日志模块、json&pikcle、os模块
软件目录规范:
什么是包,为什么要用包:
packgae就是一个包含有__init__.py文件的文件夹,所以我们用backage是为了将文件、模块组织起来。
logging模块:
日志级别:
DEBUG:10
INFO:20
WARING:30
ERROR:40
CRITICAL:50
logging的四个重要对象:
logger:产生日志的对象;
filter:过滤日志的对象(不常用)
handler:接受日志然后控制打印到不同的地方,FileHandler用来打印到文件中,StreamHandler用来打印到终端;
formatter:可以定制不同的日志格式对象,然后绑定给不同的Handler对象使用,以此来控制不同的Handler的日志格式
json&pikcle:
序列化与反序列化:
就是通过某种格式把python里面的数据变成bytes存放到硬盘中,然后可以通过反序列化把数据拿到。
json:就是一种所有程序员都能理解的数据格式,把数据通过json形式存和取;
pikcle:就是一种python的格式通过bytes形式存取;
1 #coding:utf-8 2 3 import json 4 import pickle 5 6 dic = {‘name‘:‘kermit‘,‘age‘:20} 7 8 with open(‘db.json‘,‘wt‘,encoding=‘utf-8‘) as f: 9 json.dump(dic,f) 10 11 12 13 with open(‘db.json‘,‘rt‘,encoding=‘utf-8‘) as f: 14 res = json.load(f) 15 print(res) 16 17 18 set = {1,2,3,4,5} 19 20 with open(‘db.pkl‘,‘wb‘) as f: 21 pickle.dump(set,f) 22 23 with open(‘db.pkl‘,‘rb‘) as f: 24 res = pickle.load(f) 25 print(res) 26 27 28 register = {}
os模块
1 #返回path的目录。其实就是os.path.split(path)的第一个元素 2 res = os.path.dirname(‘E:\kermit\Python\day15\json‘) 3 print(res) 4 # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 5 print(os.path.basename(‘E:\kermit\Python\day15\aaa‘)) 6 7 #如果path路径存在,返回True;如果path不存在,返回False 8 print(os.path.exists(‘E:\kermit\Python\day15\json\a.txt‘)) #查看当前目录路径是否存在 True or False 9 10 #如果path是绝对路径,返回True 11 print(os.path.isabs(‘E:\kermit\Python\day15\json\a.txt‘)) #查看path是否是绝对路径 12 13 # 如果path是一个存在的文件,返回True。否则返回False 14 print(os.path.isfile(‘E:\kermit\Python\day15\json\jason.py‘)) 15 16 # os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 17 print(os.path.isdir(‘E:\kermit\Python\视频\day15\下午\下午代码\ATM‘)) 18 19 # os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 20 print(os.path.join(‘E:\kermit\Python\视频\day15\下午\下午代码‘,‘a‘,‘b‘,‘aaa.py‘)) 21 22 # os.path.getsize(path) 返回path的大小 23 print(os.path.getsize(r‘E:\kermit\Python\视频\day15\下午\下午代码\a.txt‘))