擅长:python、mysql、java
<p>有点晚了,但这里有一个解决方案,不需要一次将整个文件内容读入RAM,这可能会在处理足够大的文件时造成麻烦:</p>
<pre><code># Print every second line.
step = 2
with open("file.txt") as handle:
for lineno, line in enumerate(handle):
if lineno % step == 0:
print(line)
</code></pre>
<p>文件对象(<code>handle</code>)允许在行上迭代。这意味着如果不需要,我们可以逐行读取文件,而不必累加所有行。为了选择每一行,我们使用带当前行号和所需步长的模运算符。</p>