常用模块 plus

时间:2022-05-24 19:20:59

一.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)