f.readlines() 不会返回任何值

Sco*_*go3 3 python text return file return-value

所以我正在阅读 Python 文档/教程,特别是我正在查看文件的输入/输出。这就是教程所说的将返回文件中的任何内容:

>>> f.readline()
'This is the first line of the file.\n'
>>> f.readline()
'Second line of the file\n'
>>> f.readline()
''
Run Code Online (Sandbox Code Playgroud)

我在 .py 中放入了同样的内容,它没有返回任何异常或问题,但它也没有返回任何值。这是我的代码:

f = open('test.txt')

f.readlines()
Run Code Online (Sandbox Code Playgroud)

除非我使用变量和 a print,否则程序将不会返回文件中的任何内容。这是我的文件内容:

Hello This Is Test
For Loops In Files
Flying Away
A Bird also Flies
Wow
Run Code Online (Sandbox Code Playgroud)

关于为什么这不起作用的任何想法?我认为它是我的解释器,因为我正在使用 SublimeREPL,但在此之前它没有做过任何奇怪的事情,所以我不太确定。另外,当我尝试在 Python 控制台中运行它时,它会给出一个错误,然后关闭控制台,这样我就看不到该错误了。相当适得其反。

只是为了澄清,我的问题不是for循环,for循环之前已经工作得很好。问题是f.readlines()不返回任何行,即使文档说它应该返回下一行。我将从for我的代码中取出循环来澄清。另外,很抱歉,如果我混淆了f.readline()f.readlines(),但无论如何,它们都不起作用。

小智 5

我已经找到了一个非常类似问题的答案,以防有人来这里寻找。因此,在 Python 中,如果您运行过readline()之前的代码readlines(),那么它已经迭代了这些行。

尝试退出并仅输入readlines()一个文件,它将为您提供完整的列表。