Python 文件IO:Txt、Json、Pickle 文件的读取与写入
文本数据/TXT
读取
使用 open() 函数配合 rt 模式读取文本文件内容:
备注1:
rt模式中的t表示对换行符进行智能转换,在 UNIX 和 Windows 中换行符的识别是不同的,对于 UNIX 换行符为\n,而 Windows 为\r\n。默认情况下,Python 工作在“通用型换行符”模式下,可以将所有常见的换行格式识别出来。加入t参数,在读取时,如果换行符为\r\n,会将其转换为\n字符。同理,在写入时会将换行符\n转换为当前系统默认的换行符。备注2:也可以给
open()函数提供一个newline=''参数对换行符进行手动操作。
1 | # 将整个文件读取为一个字符串 |
备注:使用
with语句,会为使用的文件创建一个上下文环境,当程序的控制流程离开with语句块后,文件将自动关闭。如果不使用with语句,需记得手动关闭文件:f.close()。
举例:将 .txt 文件内容读取为一个 python 列表,列表元素按顺序依次为文本文件每一行的内容:
1 | def read_txt(txt_path): |
写入
与读取类似,使用 wt 模式即可。
1 | # 将文本内容写入文件 |
JSON文件
备注1:JSON 编码支持的基本类型有 None、bool、int、float 和 str,同时也包含由这些基本类型组成的列表以及字典。对于字典,JSON 会假设所有键(key)都是字符串(字典中任何非字符串的键在编码时都会被转换为字符串)。一般来说,把 JSON 最顶层对象定义为字典是一种标准做法。
备注2:JSON 编码格式与 Python 语法基本相同,有几处细微区别,如
True会被映射为true,False会被映射为false,None会被映射为null。
以下为常用的读取和写入 json 文件的函数:
1 | import json |
备注:在写入
json文件时,如果不需要格式化,可将最后一行改为json.dump(obj)。







