python的readlines_Python readline()和readlines()不工作

我试图读取5GB文件的内容,然后对其进行排序并找到重复项。这个文件基本上只是一个数字的列表(每个都在一个新行上)。除了数字之外,没有空行或任何符号。这些数字都很大(至少6位数)。我当前正在使用for line in f:

do something to line

以避免内存问题。我可以用它。但是,我很想知道为什么readline()和readlines()对我不起作用。当我尝试的时候

^{pr2}$

不管我用哪个数字作为参数,程序总是返回同一行。准确地说,如果我做readline(0),它返回一个空行,即使文件中的第一行是一个很大的数字。如果我尝试readline(1),它将返回2,即使数字2不在文件中。当参数>;=6时,它总是返回相同的数字:291965。在

此外,无论参数是什么,readlines()方法始终返回相同的行。即使我试图打印f.readlines(2),它仍然会给我一个超过1000个数字的列表。在

我不确定我是否解释得很好。对不起,英语不是我的母语。无论如何,我可以让它在没有readline方法的情况下工作,但是我真的想知道为什么它们不能像预期的那样工作。在

文件的前10行如下所示:548098

968516

853181

485102

69638

689242

319040

610615

936181

486052

你可能感兴趣的:(python的readlines_Python readline()和readlines()不工作)