擅长:python、mysql、java
<p>你有可能做不到你认为它做的事情:</p>
<pre><code>for line in fh.readlines():
</code></pre>
<p><code>.readlines()</code>读取整个文件并返回它读取的内容。所以当你这么做的时候,循环中的行变量,不仅仅是文件的一行,而是整个文件。所以for循环只运行一次,因为在第一个循环之后,文件中没有其他内容可以迭代,因为读取到文件的末尾。基本上你确实读了文件中的一行,但是你一次就把整个文件都读完了。你知道吗</p>
<p>我想你想做的是一次读一行直到文件结束:</p>
<pre><code>for line in fh:
</code></pre>
<p>或者一种更好的同时读取文件的方法是:</p>
<pre><code>with open('filename.txt') as fh:
for line in fh:
print(line)
</code></pre>
<p>最后一个方法不需要您<code>fh.close()</code>它为您处理的文件。但是请注意最后一个方法是如何使用<code>for line in fh:</code></p>