擅长:python、mysql、java
<p>如果文件很大,则希望每次<code>read</code>和<code>write</code><em>一行,这样就不会立即将整个文件加载到内存中。</p>
<pre><code># create a dict of find keys and replace values
findlines = open('find.txt').read().split('\n')
replacelines = open('replace.txt').read().split('\n')
find_replace = dict(zip(findlines, replacelines))
with open('data.txt') as data:
with open('new_data.txt', 'w') as new_data:
for line in data:
for key in find_replace:
if key in line:
line = line.replace(key, find_replace[key])
new_data.write(line)
</code></pre>
<p>编辑:我将代码更改为<code>read().split('\n')</code>,而不是<code>readliens()</code>,因此<code>\n</code>不包含在查找和替换字符串中</p>