一. os 模块
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 是一种轻量级数据的数据交换格式
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)
来源: http://www.bubuko.com/infodetail-2899943.html