擅长:python、mysql、java
<p>签出<a href="http://docs.python.org/library/os.html#os.walk" rel="noreferrer">os.walk</a>:</p>
<pre><code>import os
replacement = """some
multi-line string"""
for dname, dirs, files in os.walk("some_dir"):
for fname in files:
fpath = os.path.join(dname, fname)
with open(fpath) as f:
s = f.read()
s = s.replace("{$replace}", replacement)
with open(fpath, "w") as f:
f.write(s)
</code></pre>
<p>上面的解决方案有缺陷,比如它打开了它找到的每个文件,或者每个文件都被完全读入内存(如果你有一个1GB的文本文件,这会很糟糕),但是它应该是一个很好的起点。</p>
<p>如果您希望执行比查找特定字符串更复杂的查找/替换,则还可能需要查看<a href="http://docs.python.org/library/re.html" rel="noreferrer">re module</a>。</p>