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)