以下是一个解决方案的代码示例:
def compare_files(*files):
unique_lines = []
file_lines = []
for file in files:
with open(file, 'r') as f:
lines = f.readlines()
file_lines.append(lines)
unique_lines.extend([line.strip() for line in lines if line.strip() not in unique_lines])
for i, file in enumerate(files):
print(f"File {file} has {len(file_lines[i])} lines.")
print(f"Total unique lines across all files: {len(unique_lines)}")
# 例子使用
compare_files('file1.txt', 'file2.txt', 'file3.txt')
这个函数可以接受任意数量的文件作为参数,并逐个打开文件进行比较。它将每个文件的所有行存储在file_lines
列表中,并将唯一的行添加到unique_lines
列表中。
最后,它会打印每个文件的总行数,并打印出所有文件中的唯一行数的总数。