我有两个文件,我试图比较两个包含数字的文件。你知道吗
File1:
123
456
789
File2:
234
567
890
34342
我遇到了两个我不知道怎么解决的问题。 这是我的密码:
import filecmp
file1 = open('file1.txt', 'r')
file2 = open('file2.txt', 'r')
file1Lines = file1.readlines()
file2Lines = file2.readlines()
matchedList = []
unmatchedList = []
for line in file1Lines:
for secline in file2Lines:
if line == secline:
matchedList.append(line)
else:
unmatchedList.append(line)
file1.close()
file2.close()
print(unmatchedList)
我试着迭代两个文件中的行,把匹配的数字(只有一个副本)放在matchedList中,把不匹配的放在unmatchedlist中。 我考虑过为file1line中的每一行迭代file2line(这应该不是问题,因为文件相对较小),问题是每当行不匹配时,它只会在不匹配的数组中附加'line'。 这就是我最后得到的:
['123\n', '123\n', '123\n', '123\n', '456\n', '456\n', '456\n', '456\n', '789\n', '789\n', '789\n', '789\n']
我遇到的另一个问题是,如果其中一个文件较长(如file2),它将不会检查该文件,而且我也不知道该数字是否匹配。你知道吗
这看起来像是为
set
数据结构精心设计的作业。你知道吗https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
输出:
相关问题 更多 >
编程相关推荐