这里提供两种解决方法。
方法一:使用Python的set()函数。
代码示例:
with open('file1.txt') as f1:
f1_lines = set(f1.readlines())
with open('file2.txt') as f2:
for line in f2:
if line not in f1_lines:
print(line)
方法二:使用Python的difflib库。
代码示例:
import difflib
with open('file1.txt') as f1, open('file2.txt') as f2:
diff = difflib.unified_diff(f1.readlines(), f2.readlines())
for line in diff:
if line.startswith('+'):
print(line[1:], end='')
注意:这两种方法都假设文件中每行的末尾没有额外的空格或者换行符。如果文件中有这些额外的字符,可以在比较前使用strip()方法去除它们。例如:
if line.strip() not in f1_lines:
print(line)