擅长:python、mysql、java
<p>Python为此提供了一个方便的工具:fileinput模块:</p>
<pre><code>import fileinput
import sys
import re
newline = '''\
{l}
public static final String CO_ID = "XXXXX"
'''
filename = '/path/to/file.java'
for line in fileinput.input([filename], inplace=True, backup='.bak'):
if re.match(r'public class', line):
sys.stdout.write(newline.format(l=line))
else:
sys.stdout.write(line)
</code></pre>
<hr/>
<ul>
<li><code>inplace=True,</code>更改文件“就地”。实际上是一个临时文件
创建,然后移动到原始位置。在</li>
<li><code>backup='.bak'</code>告诉<code>fileinput.input</code>创建
原始文件。在</li>
<li>^由于<code>print</code>添加了一个
额外的新行,而<code>sys.stdout.write</code>没有。在</li>
</ul>