擅长:python、mysql、java
<p>你没什么可以改进的。但您必须将所有行写入<strong>一个新文件</strong>,可以是已更改的,也可以是未更改的。小的改进将是:</p>
<ul>
<li>使用<code>with</code>语句</li>
<li>避免在列表中存储行</li>
<li>在<code>else</code>子句中不格式化地编写<code>lines</code>(如果适用)。</li>
</ul>
<p>应用以上所有内容:</p>
<pre><code>import shutil
with open('test') as old, open('newtest', 'w') as new:
for line in old:
if line.rsplit('|', 1)[-1].strip() == 'number3':
new.write('this is replacement|number7\n')
else:
new.write(line)
shutil.move('newtest', 'test')
</code></pre>