常用模块 plus
1. os
os.makedirs 创建多级目录
os.mkdir 只能创建一层 如果是多层,上层文件夹必须存在
os.removedirs 删除目录集中所有空文件夹
os.rmdir 删除指定文件夹,必须是空文件夹
os.getcwd 获取当前程序运行的文件夹
os.chdir 更换工作目录
2.os.path 和路径相关的
os.path.split 把文件绝对路径分割 返回元组
os.path.dirname 直接拿到文件绝对路径分割的 文件路径
os.path.basename 直接拿到文件绝对路径分割的 文件名
os.path.exists 判断文件是否存在
os.makedirs("1/2/3") # 创建多级目录 os.mkdir("a/b/c") # 只能创建一层 上层文件夹必须存在 os.mkdir("1/2/3/4") os.removedirs("1/2/3/4") # 删除目录级中所有空文件夹 os.rmdir("1/2/3/4") # remove rm 指定文件夹删除,必须是空的 os.system("dir") # 执行 cmd命令或shell命令(linux) 返回值是0 print(os.popen("dir").read()) # 执行cmd命令 有返回值 print(os.getcwd()) # 当前程序运行的文件夹 os.chdir("1") # 更换工作目录 print(os.getcwd()) os.path 和路径相关的内容 print(os.path.abspath("1")) # 把相对路径打印绝对路径 把文件绝对路径分割 print(os.path.split("F:\python_workspace_s18\day23 内置模块\\1")) 分割 的前面的文件路径 print(os.path.dirname("F:\python_workspace_s18\day23 内置模块\\1")) 分割的后面的文件名 print(os.path.basename("F:\python_workspace_s18\day23 内置模块\\1")) print(os.path.exists("1")) # 判断是否存在
二.sys 模块
sys.path 找模块的,重点模块的搜索路径 返回列表
import sys print(sys.platform) # 查看平台 假的 骗人的 没用 print(sys.path) # 找模块的 重点.模块的搜索路径 是个列表
三. pickle 模块
pickle 模块 可以把一个对象序列化(dump) 成字节 和反序列化(load) 更便于存放
pickle.dump(obj,f) 把一个对象obj序列化写文文件内 # dumps 在py文件中用 不能跨文件
pickle.laod(f) 从一个文件内,拿出对象 # loads 在py文件中用 不能跨文件
import pickle class Elephant: def __init__(self,name,weight): self.name = name self.weight = weight def chi(self): print(f"{self.name}在吃") e1 = Elephant("小象","1086t") bs = pickle.dumps(e1) # 把el序列化成字节 print(bs) el = pickle.loads(bs) # 反序列化 el.chi()
elephant",mode="wb") as f: pickle.dump(e1,f) # 把对象序列化并写入文件中 pickle.dump(e2,f) with open("elephant",mode="rb") as f: while 1: # 拿多个 直到没有了 try: obj = pickle.load(f) obj.chi() except Exception: break lst = [e1,e2] with open("elephant",mode="wb") as f: pickle.dump(lst,f) with open("elephant",mode="rb") as f: obj = pickle.load(f) for i in obj: i.chi()
json是一种轻量级数据的数据交换格式
json.dump(obj,f,ensure_ascii=False) 把obj对象转换成json格式写入f文件中 ensure_ascii= 是否以ascii码显示 # dumps 跟pickle的一样
json.load(f) 把f文件中的json格式的转化成 python类型 #loads 跟pickle的一样
import json dic = {"baby":None,"hxm":True,"yy":"杨"} obj = json.dumps(dic,ensure_ascii=False) # print(obj) j = json.loads('{"baby": null, "hxm": true, "yy": "杨"}') print(j) with open("jsonn",mode="w",encoding="utf-8") as f: json.dump(dic,f,ensure_ascii=False) with open("jsonn", mode="r", encoding="utf-8") as f: obj = json.load(f) print(obj)