file.read(),file.readline()和迭代文件对象之间的差异

时间:2015-10-24 00:59:08

标签: python

我是计算机科学的新手,我正在尝试在python中创建一个能够在我的计算机上打开文件的函数。

我知道函数f.readline()将当前行作为字符串抓取,但是函数f.read()for line in f:的不同之处是什么?感谢。

1 个答案:

答案 0 :(得分:6)

read(x)将读取文件中的x个字节。如果您不提供大小,则会读取整个文件。

readline(x)将读取最多x个字节或换行符,以先到者为准。如果您没有提供尺寸,它将读取所有数据,直到它到达换行符。

使用for line in f时,它会调用next()方法,它实际上只是与readline非常相似(尽管我看到的引用可以更有效地进行缓冲)因为迭代通常意味着你计划阅读整个文件。)

还有readlines()将所有行读入内存。