常用模块 plus

一.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_s18day23 内置模块\1"))
分割 的前面的文件路径
print(os.path.dirname("F:python_workspace_s18day23 内置模块\1"))
分割的后面的文件名
print(os.path.basename("F:python_workspace_s18day23 内置模块\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)
原文地址:https://www.cnblogs.com/q767498226/p/10188198.html