这个问题已经被回答了无数次,文档也很好地描述了这些差异。但这里是:
如果您有这样的文件 (test.txt):
first line
second line
third line
然后这段代码:
with open("test.txt", "r") as file:
line = file.readline()
print(line)
将产生这个输出:
first line
那是因为readline 只是读取下一行。
如果您改用此代码:
with open("test.txt", "r") as file:
content = file.read()
print(content)
输出:
first line
second line
third line
read() 将文件的全部内容读入一个字符串。
您还可以给read() 一个可选参数,它指定要从文件中读取的字符数:
with open("test.txt", "r") as file:
content = file.read(15)
print(content)
输出:
first line
seco
最后,你没有提到的第三个函数是readlines,它返回一个行列表(字符串):
with open("test.txt", "r") as file:
lines = file.readlines()
print(lines)
输出:
['first line\n', 'second line\n', 'third line\n']