擅长:python、mysql、java
<p>看起来您的<code>outfile</code>与<code>infile</code>处于同一级别—这意味着在第一个<code>with</code>块的末尾,<code>outfile</code>已关闭,因此无法写入。将<code>infile</code>块缩进到<code>infile</code>块中。你知道吗</p>
<pre><code>with open('output', 'w') as outfile:
for a in b:
with open('input') as infile:
...
...
</code></pre>
<p>您可以在这里使用<code>fileinput</code>模块简化代码,使代码更清晰,更不容易出现错误的结果:</p>
<pre><code>import fileinput
from contextlib import closing
import os
with closing(fileinput.input(os.listdir(dirpath))) as fin, open('output', 'w') as fout:
fout.writelines(fin)
</code></pre>