为了找到解决方案,我损失了几天,但没有成功!我有两个行很多的文本文件。一个文件可以包含成千上万的数字行,例如:79357795 79357796 68525650。第二个文件也包含数字,但不是太多,可能是一百行(每行还是一个数字)。我尝试了一些“算法”,但没有成功。现在,我的问题是:我可以检查第一个文件的第一行和第二个文件的所有行,之后再检查第一文件的第二行和第二个文件的所有行,依此类推直到文件末尾吗?因此,我想将这两个文件之间的差异保存在第三个文件中。谢谢大家的答复,对于我最糟糕的英语,我们深表歉意。:)PS:哦,是的,我需要在Python中执行此操作。更多详细信息:first_file.txt包含:79790104798730706927465669180377604922097817785279023241697362566869962079577311 78509545696560076818887160643247788988177992410579684143 7903602269445507606055447934818169748018694863236910280268651099second_file.txt包含:78509545 69656007 68188871 6064324778898817 79924105 79684143 79036022 6944550760605544 79348181 69748018 69486323 6910280268651099793577947895395869350610783831116862932178886856third_file.txt需要包含在first_file.txt中不存在但在第二个文件中存在的数字,在这种情况下:793577947895395869350610783831116862932178886856
3 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
就像是:
from itertools import ifilterfalse
with open('first') as fst, open('second') as snd, open('not_second', 'w') as fout:
snd_nums = set(int(line) for line in snd)
fst_not_in_snd = ifilterfalse(snd_nums.__contains__, (int(line) for line in fst))
fout.writelines(num + '\n' for num in fst_not_in_snd)
添加回答
举报
0/150
提交
取消