<p>我想将某些文本行从一个文本文件复制到另一个文本文件。在我当前的脚本中,当我搜索一个字符串时,它会在之后复制所有内容,我如何才能只复制文本的某一部分?E、 g.只有当它包含“tests/file/myword”时才复制行?</p>
<p>当前代码:</p>
<pre><code>#!/usr/bin/env python
f = open('list1.txt')
f1 = open('output.txt', 'a')
doIHaveToCopyTheLine=False
for line in f.readlines():
if 'tests/file/myword' in line:
doIHaveToCopyTheLine=True
if doIHaveToCopyTheLine:
f1.write(line)
f1.close()
f.close()
</code></pre>
<p>只是稍微清理一下。这和ATOzTOA的答案差不多,但没有理由用两个独立的语句来表示。</p>
<pre><code>with open(path_1, 'a') as file_1, open(path_2, 'r') as file_2:
for line in file_2:
if 'tests/file/myword' in line:
file_1.write(line)
</code></pre>