Python Task 07:文件与文件系统
1.open()方法
-
完整的语法格式:open(file, mode=‘r’, buffering=-1, encoding=None, errors=None,
newline=None, closefd=True, opener=None) -
参数说明:
file: 必需,文件路径(相对或者绝对路径)
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
- mode参数
- file对象
- file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:
2.OS 文件/目录方法
函数 | 描述 |
---|---|
os.getcwd() | 返回当前工作目录 |
os.chdir(path) | 改变当前工作目录到指定的路径 |
os.listdir(path) | 返回path指定的文件夹包含的文件或文件夹的名字的列表 |
os.mkdir(path) | 创建单层目录,如果该目录已存在抛出异常 |
os.makedirs(path) | 用于递归创建多层目录,如果该目录已存在抛出异常 |
os.remove(path) | 删除指定路径的文件。如果指定的路径是一个目录,将抛出 OSError |
os.rmdir(path) | 删除单层目录。仅当这文件夹是空的才可以, 否则, 抛出 OSError |
os.system(command) | 运行系统的shell命令(将字符串转化成命令 |
os.curdir | 指代当前目录 |
os.sep | 输出操作系统特定的路径分隔符(win下为\,Linux下为/) |
os.linesep | 当前平台使用的行终止符(win下为\r\n,Linux下为\n) |
os.name | 指代当前使用的操作系统 |
os.path.basename(path) | 去掉目录路径,单独返回文件名 |
os.path.dirname(path) | 去掉文件名,单独返回目录路径 |
os.path.join(path1[, path2[, …]])将 path1,path2 | 各部分组合成一个路径名 |
os.path.getctime(file) | 返回指定文件的创建时间 |
3.序列化和反序列化
pickle 模块实现了基本的数据序列和反序列化。
- 通过 pickle 模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。
- 通过 pickle 模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
pickle模块常用函数:
函数 | 描述 |
---|---|
pickle.dump(obj, file, [,protocol]) | 将obj对象序列化存入已经打开的file中。 |
obj | 想要序列化的obj对象。 |
file | 文件名称。 |
protocol | 序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。 |
pickle.load(file) | 将file中的对象序列化读出。 |
参考来源:https://www.runoob.com/python3/python3-reg-expressions.html
https://mp.weixin.qq.com/s/ELDaW91e7m_MblN02OXcvQ