数据如果不能持久保存,那么信息技术就没有意义。
读写文件是最常见的IO操作,因为操作系统不允许普通程序直接操作硬盘,因此,需要向操作系统申请一个可操作文件的对象,用于对该文件的“读写”操作,python内置了读写文件的函数。
下面对文件操作分成几部分:
- 文件的读写操作
- 文件的系统操作(附加权限、创建、删除等)
- 通过序列化存储对象
Python提供了一个open函数进行文件的读写操作:
open函数:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 除了file参数外,其他参数都有默认值。 其中含义: file: 必需,文件路径(相对或者绝对路径)。 mode: 可选,文件打开模式 buffering: 设置缓冲 encoding: 一般使用utf8 errors: 报错级别 newline: 区分换行符 closefd: 文件关闭时,底层文件描述符为关闭状态 opener:可以通过调用*opener*方式,使用自定义的开启器。 而mode的参数有很多: 'r' 只读,默认方式 'w' 写入,会覆盖源文件内容 'x' 创建新文件,并写入内容,如果文件已存在,将会报错:FileExistsError 'a' 写入,如果文件有内容,则在末尾追加写入 'b' 二进制模式 't' 文本模式 '+' 更新磁盘文件,读写
文件的读取:
文件写入:
Python还提供一个os模块,用于文件在系统中的其他操作: os模块是Python标准库中的一个用于访问操作系统的模块,包含普遍的操作系统功能,如复制、创建、修改、删除文件及文件夹。
这里的os模块的使用,要利用“import”语句引入os模块才能使用
详细的“os”模块的使用可以私信我,分享相关资料。
或访问:https://docs.python.org/3/library/os.html 进行查阅
序列化对象存储:
它只能用于Python,并且可能不同版本的Python彼此都不兼容,这问题在其他语言中也有出现,我们可以把一个对象进行序列化后进行持久性存储或者通过网络传输,但如果在不同的语言之间传输,还是利用标准化的格式进行序列化,避免兼容问题,方便理解,如使用JSON、XML等,Python提供了相关的模块,如”json“模块:。
Python可以通过”pickle“模块进行序列化和反序列化,如:
下次我们讲Python深入部分,可以私信我,分享各模块的使用说明,如:os、Cpickle、pickle、json等模块的使用