从文件读取数据

已完成

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