这个问题的简短答案是,这三种读取文件位的方法都有不同的用例。如上所述,f.read()将文件作为单独的字符串读取,因此允许相对容易的文件范围内的操作,例如文件范围内的正则表达式搜索或替换。
f.readline()读取文件的单行,使用户可以解析单行,而不必读取整个文件。使用f.readline()还可以比逐行迭代(例如,文件在途中更改格式时)更容易地将逻辑应用于读取文件。
使用语法for line in f:
可以使用户按照问题中的说明逐行遍历文件。
(如另一个答案所述,该文档非常好阅读):
https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file- objects
编辑:以前声称readline()可用于在for循环迭代期间跳过一行。但是,这在python 2.7中不起作用,并且可能是一个有问题的做法,因此该声明已被删除。
编辑:添加了f.readline()和f.read()用例的示例