以下是一个比较两个大文件的示例代码,它会检查两个文件是否没有任何一行相同:
def compare_files(file1, file2):
# 使用集合存储文件1的所有行
lines1 = set()
with open(file1, 'r') as f1:
for line in f1:
lines1.add(line.strip())
# 逐行比较文件2的内容,并检查是否有相同行
with open(file2, 'r') as f2:
for line in f2:
if line.strip() in lines1:
return False
# 如果没有找到相同行,则返回True
return True
# 示例用法
file1 = 'file1.txt' # 第一个大文件的路径
file2 = 'file2.txt' # 第二个大文件的路径
result = compare_files(file1, file2)
if result:
print("这两个文件没有任何一行相同。")
else:
print("这两个文件有相同的行。")
请注意,这种方法使用了集合(set)数据结构来存储文件1的所有行,这样可以快速判断文件2的每一行是否出现在文件1中。这种方法适用于大文件,因为它只需要存储文件1的行,而不是整个文件内容。