擅长:python、mysql、java
<p>问题是,无论何时开始与<code>for filename in files:</code>循环中的下一个文件进行比较,都不会返回到<code>originalfile</code>的开头。最简单的解决方案是:</p>
<pre><code>original.seek(0)
</code></pre>
<p>在循环的开始。你知道吗</p>
<p>您还可以在循环之前将整个文件读入一个列表中一次,并使用它来代替重复读取文件。你知道吗</p>
<p>如果您只想处理部分文件,可以将文件读入一个列表,然后使用一个列表切片来获取所需的行。你知道吗</p>
<p>您也不应该每次通过循环都将<code>num_bit_diff_flip_zero</code>和<code>num_bit_diff_flip_one</code>设置为<code>0</code>,因为它们应该是所有文件的总数。你知道吗</p>
<pre><code>with open('files/mull-original-readback.rbd','r') as original:
original_lines = list(original)[del_lines:num_lines_nonbram]
for filename in files:
with open(file, 'r') as f:
lines = list(f)[del_lines:num_lines_nonbram]
for lineoriginal, line1 in zip(original_lines, lines):
for k in range(bits_perline):
if lineoriginal[k] == line1[k]:
a_write2 += " "
elif lineoriginal[k] == "0"
num_bit_diff_flip_zero += 1
else:
num_bit_diff_flip_ones += 1
total_bit_flips = num_bit_diff_flip_zero + num_bit_diff_flip_ones
</code></pre>