所以我有一个文本文件,我试图从中提取包含特定单词的某些行。想要的行是包含单词HEIGHT的行,但是我的文本文件中有另一个类别叫做AVERAGEHEIGHT。因此,当我运行此代码时,它会提取包含HEIGHT和AVERAGEHEIGHT的所有行,因为我只对HEIGHT感兴趣。有办法解决这个问题吗?
这是我的代码行
open('height.txt','w').writelines([ line for line in open("Test1.txt") if "HEIGHT" in line])
提前感谢您对此事的任何建议。
答案 0 :(得分:1)
在不知道其余输入的情况下,我能想到的最简单的方法如下:
open('height.txt','w').writelines([ line for line in open("Test1.txt") if "HEIGHT" in line and "AVERAGEHEIGHT" not in line])
编辑:
open('height.txt','w').writelines([ line for line in open("Test1.txt") if "HEIGHT" in line and "AVERAGEHEIGHT" not in line and "TOTAL HEIGHT" not in line])
答案 1 :(得分:1)
你可以这样做:
with open('linestoread.txt') as f:
our_lines = f.readlines()
for l in our_lines:
if 'HEIGHT' in l and not 'AVERAGEHEIGHT' in l:
with open('height.txt', 'a') as f:
f.writelines(l)