<p>我有一个关于数据操作和提取的问题。你知道吗</p>
<p>我有大量的文件(大约450万个文件),我想从每个文件中提取第三行(行)并将其保存到一个新文件中。但是,由于文件数和提取的行数的不同,缺少的行数似乎只有5行。你知道吗</p>
<p>我试过调试以查看错误发生的位置。出于调试目的,我可以想到两个可能的问题:
(1) 我计算的行数不正确(我尝试了两种行计数算法,它们似乎匹配)
(2) 它读取一个空字符串,我也尝试在代码中调试它。还有什么其他的可能性,我可以期待调试?你知道吗</p>
<p>计算文件长度1的算法</p>
<pre class="lang-py prettyprint-override"><code>def file_len(filename):
with open(filename) as f:
for i, l in enumerate(f):
pass
return i + 1
</code></pre>
<p>计算文件长度2的算法</p>
<pre class="lang-py prettyprint-override"><code>def file_len2(filename):
i = sum(1 for line in open(filename))
return i
</code></pre>
<p>3号线提取算法</p>
<pre class="lang-py prettyprint-override"><code>def extract_line(filename):
f = open(filename, 'r')
for i, line in enumerate(f):
if i == 2: # Line number 3
a = line
if not a.strip():
print(Error!)
f.close()
return a
</code></pre>
<p>没有错误消息。
我希望输入文件的数量与输出文件中的行数相匹配,但两者之间的差异很小,大约为450万行中的5行。你知道吗</p>