python中要正确的读写二进制,需要将其序列化,常见的序列化模块有pickle、struct、shelve、marshal
使用pickle模块读写二进制文件
python标准库pickle提供的dump()方法对于数据进行序列化并将其写入文件,而load()用于读取二进制文件内容进行反序列化,还原为原来的信息。
使用struct模块读写二进制文件
python中struct模块需要使用pack()方法把对象按照指定个数进行序列化,然后使用文件对象的write()方法将序列化的结果写入二进制文件,读取时需要使用文件对象的read()方法读取二进制文件内容,然后使用unpack()方法反序列化得到原来的信息。
使用shelve模块操作二进制文件
python标准库shelve模块也提供了二进制文件操作的功能,既可以类似字典赋值一样写入二进制文件,也可以像类似字典一样读取二进制文件,与NoSQL数据库MongoDB部分相似
使用marshal模块操作二进制文件
python标准库marshal模块也可以进行对象的序列化和反序列化
文件夹常用操作
1.创建文件夹
用os模块的mkdir方法
import os
os.mkdir("Python笔记")
2.获取当前目录
用os模块的getcwd方法
import os
print(os.getcwd())
3.改变默认目录
用os模块的chdir方法
例如将当前目录改变为上一级目录,代码如下:
import os
os.chdir("../")
print(os.getcwd())
4.获取目录列表
用os模块的listdir方法用来获取目录列表
例如,要获取当前路径下的子目录列表,代码如下:
import os
print(os.listdir("./"))
5.删除文件夹
用os模块的rmdir方法用来删除文件夹
import os
os.rmdir("Python笔记")