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

Kor*_*ios 3 python

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

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

woo*_*oot 6

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

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

使用时for line in f,它会调用next()引擎盖下的方法,它实际上只是做了类似的事情readline(虽然我看到引用可以更有效地进行缓冲,因为迭代通常意味着你计划读取整个文件).

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