第九节:os、sys、json、pickle、shelve模块

OS模块:

os.getcwd()获取当前路径
os.chdir()改变目录
os.curdir返回当前目录
os.pardir()父目录
os.makedirs('a/b/c')创建多层目录
os.removedirs()删除多层目录中的空目录
os.mkdir()创建目录
os.listdir()列出文件夹下的所有文件
os.remove()删除文件
os.rename()重命名文件
os.stat()查看文件的所有状态信息
os.sep返回操作系统的路径分隔符
os.linesep返回操作系统的终止符
os.pathsep返回分割文件路径的字符
os.name返回查看平台
os.system()使用系统命令  #使用shell命令获取相关数据,常用
os.environ()查看环境变量
os.path.abspath(path)查看绝对路径
os.path.split(path)将path分割成目录和文件名返回元组
os.path.dirname(path)获取路径的
os.path.basename(path)获取文件名
os.path.exists(path)判断路径是否存在
os.path.isabs(path)判断是否是绝对路径
os.path.isfile(path)判断是否是文件
os.path.isdir()判断是否是目录
os.path.join(path1,path2)目录拼接
os.path.getatime(path)获取文件的访问时间
os.path.getmtime(path)获取文件的修改时间

SYS模块:
sys.path返回模块的搜索路径
sys.exit()退出程序
sys.version获取解释器的版本
sys.platform返回操作系统的平台名称
sys.argv获取执行文件的文件名和参数
sys.stdout.wirte('&')打印内容(做进度条使用)
sys.stdout.flush()刷新内存内容到屏幕

JSON模块:
json.dumps(数据)将数据转换成json字符串,数据中的字符串的引号都转换成了双引号(序列化)

json.dump(dic,f)简化版的将json格式的数据写入文件(只能对于文件操作)

dic = {'name': 'sss', 'age': 22, 'sex': 'male'}
data=json.dumps(dic)#将数据类型转换成字符串,序列化
with open('config.json','w') as f:
    f.write(data)#等同于json.dump(data,f)写到文件中


f.write(data)写入文件的内容:{"name": "sss", "age": 22, "sex": "male"}

json.dump(data,f)写入文件的内容:"{"name": "sss", "age": 22, "sex": "male"}"

json.loads()将字符串的转换成数据类型 (反序列化)

json.load(load,f)简化版的将反序列化的数据读出

with open('config.json','r') as f:
    data=json.loads(f.read())#等同于json.load(f)反序列化读出文件内容
    print(data)
{'name': 'sss', 'age': 22, 'sex': 'male'}

pickle模块

功能和json一摸一样
但是处理成字节,所以读出和写入的时候需要使用b模式并带上编解码类型 wb或者rb
支持的数据类型更多(函数、类)但是没啥卵用

shelve模块:
f = shelve.open(r.'aaa')#定义一个文件
f=['stu1_info'={'name':'sss'}]存入字典
print(f.get('stu1_info')['name']) 取字典的值

XML模块:(用到的时候再看)
tree=xml.parse('xmltest.xml')
root= tree.getroot()
print(root.tag) 打印对象的标签
root.attrib 获取对象的属性
root.text 获取对象的文本内容

原文地址:https://www.cnblogs.com/sxdpython/p/12678529.html