在一次采访中,一位采访者问我为什么readline()比Python中的readlines()慢得多?
我回答说readlines()需要多次阅读,这需要更多的支出.
我不知道我的答案是否正确.
如果我的答案是正确的,那么支出是多少?
谢谢!
PS:我知道readline()和readlines()之间的区别!
readlines()一次读取整个文件,readline()只能读取一行.
我希望有人能告诉我一些关于磁盘IO文件的知识.
解决方法:
f.readline() reads a single line from the file; a newline character
(\n) is left at the end of the string, and is only omitted on the last
line of the file if the file doesn’t end in a newline.
Read one entire line from the file. A trailing newline character is
kept in the string (but may be absent when a file ends with an
incomplete line). If the size argument is present and
non-negative, it is a maximum byte count (including the trailing
newline) and an incomplete line may be returned. When size is not 0,
an empty string is returned only when EOF is encountered immediately.
If you want to read all the lines of a file in a list you can also use
list(f) or f.readlines().
Read until EOF using readline() and return a list containing the lines
thus read. If the optional sizehint argument is present, instead of
reading up to EOF, whole lines totalling approximately sizehint bytes
(possibly after rounding up to an internal buffer size) are read.
Objects implementing a file-like interface may choose to ignore
sizehint if it cannot be implemented, or cannot be implemented
efficiently.
因此readlines使用readline函数“多次读取”文件.其他答案可以更详细地回答每个答案的表现.
标签:python