如果行存在于另一个txt文件中,如何从txt文件中删除行

时间:2019-07-07 03:31:56

标签: python python-3.x

File1.txt包含

text line 1
text line 2
text line 3

File2.txt包含

text line 3 
text line 4
text line 5

我不会制作包含以下内容的文件

text line 1
text line 2

所以基本上,如果file2.txt上存在行,则将其从file1.txt中删除

我尝试使用.readlines语句和for循环中的if语句,但没有成功

1 个答案:

答案 0 :(得分:0)

假设两个文件都足够小,可以舒适地放入内存中,则只需将两个文件读入列表中,然后找出区别即可:

list1 = []
list2 = []

with open("file1.txt") as f:
    list1 = f.readlines()

with open("file2.txt") as f:
    list2 = f.readlines()

list_diff = list(set(list1) - set(list2))

然后您可以将list_diff写入输出文件,进行打印等。