擅长:python、mysql、java
<p>首先,你想写一行,不管它是否与模式匹配。否则,你只能写出匹配的行。</p>
<p>其次,在读取行和写入结果之间,您需要截断文件(可以<code>f.seek(0)</code>,然后<code>f.truncate()</code>),或者关闭原始文件并重新打开。选择前者,我会得到如下结果:</p>
<pre><code>fpath = os.path.join(thisdir, filename)
with open(fpath, 'r+') as f:
lines = f.readlines()
f.seek(0)
f.truncate()
for line in lines:
if '<a href="' in line:
for test in filelist:
pathmatch = file_match(line, test)
if pathmatch is not None:
repstring = filelist[test] + pathmatch
line = line.replace(test, repstring)
f.write(line)
</code></pre>