我想将某些文本行从一个文本文件复制到另一个文本文件。在我当前的脚本中,当我搜索一个字符串时,它会在之后复制所有内容,我如何才能只复制文本的某一部分?E、 g.只有当它包含“tests/file/myword”时才复制行?
当前代码:
#!/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()
readlines()将整个输入文件读入一个列表,但不是一个好的执行者。只需遍历文件中的行。我在output.txt上使用了'with',这样当完成时它会自动关闭。“list1.txt”不需要这样做,因为当for循环结束时,它将被关闭。
只是稍微清理一下。这和ATOzTOA的答案差不多,但没有理由用两个独立的语句来表示。
一行:
建议使用
with
:使用更少的内存:
相关问题 更多 >
编程相关推荐