从文件读取数据
Tip
有关更多详细信息,请参阅 “文本和图像 ”选项卡!
Python提供了多种从文件读取文本的方法。 最佳选择取决于文件的大小以及要使用它执行的操作。
一次性读取整个文件
该方法 .read() 将整个文件作为单个字符串返回:
with open("notes.txt", "r") as file:
contents = file.read()
print(contents)
此方法适用于小型文件,但对于非常大的文件,它会一次性将一切加载到内存中。
注意
如果文件不存在, open() 则在读取模式下会引发一个 FileNotFoundError。 在尝试读取该文件之前,请确保该文件存在!
将文件作为行列表读取
该方法 .readlines() 将每行作为列表中的单独字符串返回。 每个字符串将换行符 (\n) 保留在末尾。
with open("notes.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # .strip() removes the trailing newline
逐行读取
最节省内存的方法是直接迭代文件对象。 Python 每次循环读取一行:
with open("notes.txt", "r") as file:
for line in file:
print(line.strip())
对于大型文件,建议使用此模式,因为一次只保留一行。
选择正确的方法
| 如果你希望... | 使用... |
|---|---|
| 将整个文件视为一个字符串 | .read() |
| 获取可通过索引访问的行列表 | .readlines() |
| 高效地逐一处理每一行 | for line in file |