我正在尝试做一个3部分的程序。我有两个文本文件,文本文件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
是否有更好的代码集,我做错了什么?
任何建议都会很好。
答案 0 :(得分:1)
你应该使用交叉功能,而不是差异。此外,您在变量名称中输入了拼写错误。
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
答案 1 :(得分:0)
你可以使用:
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())