<p>不需要使用regex,只需要字符串比较函数</p>
<pre><code>with open('file_1.txt') as f1 :
content = f1.readlines()
content = [x.strip() for x in content]
with open('file_2.txt') as f2 :
content2 = f2.readlines()
content2 = [x.strip() for x in content]
for line in content :
for line2 in content2 :
if 'old_STRING_A' in line2 and 'old_STRING_A' in line1 :
line2 = line1
elif 'old_STRING_B' in line2 and 'old_STRING_B' in line1 :
line2 = line1
elif 'old_STRING_C' in line2 and 'old_STRING_C' in line1 :
line2 = line1
with open('file_2.txt', 'w') as f2:
for line in content2 :
f2.write(line+'\n')
</code></pre>
<p>使用正则表达式</p>
<pre><code>import re
with open('file_1.txt') as f1 :
content = f1.readlines()
content = [x.strip() for x in content]
with open('file_2.txt') as f2 :
content2 = f2.readlines()
content2 = [x.strip() for x in content]
for line in content :
for line2 in content2 :
re.sub(r'[^]?old_STRING_A[^]?','new_STRING_A',line)
with open('file_2.txt', 'w') as f2:
for line in content2 :
f2.write(line+'\n')
</code></pre>