文件
实际开发中经常遇到对数据进行持久化操作的场景,而实现数据持久化最直接简单的方式就是将数据保存到文件中。Python 实现文件的读写操作其实非常简单,通过内置的 open
函数,可以指定文件名、操作模式、编码信息等来获得操作文件的对象,然后就可以对文件进行读写操作了。
对象方法 | 具体含义 |
---|---|
read |
读取 |
readline |
读取文件每一行 |
write |
写入 |
close |
关闭文件 |
操作模式 | 具体含义 |
---|---|
'r' |
读取 (默认) |
'w' |
写入(会先截断之前的内容) |
'x' |
写入,如果文件已经存在会产生异常 |
'a' |
追加,将内容写入到已有文件的末尾 |
'b' |
二进制模式 |
't' |
文本模式(默认) |
'+' |
更新(既可以读又可以写) |
示例:io_using_file.py
1 | poem = '''\ |
读写文本文件
- 使用
open
函数打开文件 - 使用
encoding
参数指定编码 - 使用
with
语句来自动调用close()
方法
1 | # encoding=utf-8 |
读写二进制文件
- 使用
rb
读取二进制图片 - 使用
wb
写入二进制图片
1 | def main(): |
读写 JSON 文件
- 序列化:把变量从内存中变成可存储或传输的过程称之为序列化。
- 反序列化:把变量从序列化的对象重新读到内存里称之为反序列化。
json
库:可以实现 Python 对象和JSON
格式的序列化和反序列化。pickle
库:使用特有的序列化协议来序列化数据。
json 库方法 | 具体含义 |
---|---|
dump |
将 Python 对象按照 JSON 格式序列化到文件中 |
dumps |
将 Python 对象处理成 JSON 格式的字符串 |
load |
将文件中的 JSON 数据反序列化成对象 |
loads |
将字符串的内容反序列化成 Python 对象 |
1 | import json |
JSON 类型 | Python 类型 |
---|---|
{} | dict |
[] | list |
“string” | str |
1234.56 | int 或 float |
true/false | True / False |
null | None |
示例:io_pickle.py
1 | import pickle |