擅长:python、mysql、java
<p>您的第二个版本不仅工作较慢,而且工作不正确。你知道吗</p>
<p>在第一个版本中,您用赋值(<code>line = buffer[i+1:]</code>)重置<code>line</code>,而在第二个版本中,您只附加到<code>line</code>。结果,在第二个版本中,<code>line</code>包含文件的全部内容,而不是<code>#</code>符号。你知道吗</p>
<p>通过在处理代码后立即清除<code>line</code>来修复代码:</p>
<pre><code>while buffer != "":
buffer = f.read(10000)
i = buffer.find('#')
while i != -1:
pixels += 1
line += buffer[:i]
buffer = buffer[i+1:]
ProcessLine(line)
line = "" # sic!
i = buffer.find('#')
line += buffer
</code></pre>