Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较两个文本列表,检查是否重复,并将其标记在行尾_Python_Duplicates_Text Files - Fatal编程技术网

Python 比较两个文本列表,检查是否重复,并将其标记在行尾

Python 比较两个文本列表,检查是否重复,并将其标记在行尾,python,duplicates,text-files,Python,Duplicates,Text Files,我正在尝试做一个由三部分组成的程序。我有两个文本文件,文本文件A和文本文件B 文本文件A必须将数据与文本文件B进行比较。如果存在副本,它将通过电子邮件发送。 如果没有副本,它将把数据写入文本文件B 我遇到的问题是,复制总是从文本文件的开头开始。我试图找到代码,从它检查的最后一行开始 这是我的复制代码 f1 = open("/path/to/file1", "r") f2 = open("/path/to/file2", "r") txtfileA = f1.read() txtfileB

我正在尝试做一个由三部分组成的程序。我有两个文本文件,文本文件A和文本文件B

文本文件A必须将数据与文本文件B进行比较。如果存在副本,它将通过电子邮件发送。 如果没有副本,它将把数据写入文本文件B

我遇到的问题是,复制总是从文本文件的开头开始。我试图找到代码,从它检查的最后一行开始

这是我的复制代码

f1 = open("/path/to/file1", "r") 
f2 = open("/path/to/file2", "r") 

txtfileA = f1.read()
txtfileB = f2.read()

txtfileA_words = txtfileA.split()
txtfileB_words = txtfileB.split()

result = set(textfileA_words).difference(set(txtfileB_words))

print result
是否有更好的代码集,我做错了什么吗


任何建议都很好。

您应该使用交叉点功能,而不是差异。另外,变量名中有一个输入错误

f1 = open("/path/to/file1", "r") 
f2 = open("/path/to/file2", "r") 

txtfileA = f1.read()
txtfileB = f2.read()

txtfileA_words = txtfileA.split()
txtfileB_words = txtfileB.split()

# remove the extra e in textfileA_words and use intersection
result = set(txtfileA_words).intersection(set(txtfileB_words))

print result
您可以使用:

with open('path/to/file1', 'r') as f1, open('path/to/file2', 'r') as f2:
    result = set(f1.read().split()).intersection(set(f2.read().split())

什么构成复制品?电话?一个角色?单词?@jgritty——它看起来像是从代码段中用空格分隔的“单词”。如果您要查找重复的单词,为什么要使用
set.difference
?您是否应该使用
set.intersection
?在每一行中,您将发现8个字符,从0-9,a-z开始。它将是这些元素的混合体。打开时与常规打开时有什么区别
打开时
将在完成后自动关闭文件。交集与差异之间的区别是什么:返回一个新集,其中的元素不在其他元素中。交集:返回一个新集,其中的元素与赛特和所有其他人。