获取两个Python文件的差集可以通过Python的set集合类型完成,具体步骤如下:
- 读取两个文件中的内容并存入两个列表中
with open('file1.txt', 'r') as f1:
file1_lines = f1.readlines()
with open('file2.txt', 'r') as f2:
file2_lines = f2.readlines()
- 将两个列表转化为set集合类型,可以使用Python内置的set()函数
file1_set = set(file1_lines)
file2_set = set(file2_lines)
- 使用set类型自带的差集操作,获取差集并将结果存入新的set集合中
diff_set = file1_set - file2_set
- 将结果写入到新的文件当中
with open('diff.txt', 'w') as f:
for line in diff_set:
f.write(line)
另外,如果两个文件都很大,则上述方法可能会消耗大量内存。为此,可以使用Python内置的迭代器来逐行处理文件内容,比如:
with open('file1.txt', 'r') as f1, open('file2.txt', 'r') as f2, open('diff.txt', 'w') as f:
for line in f1:
if line not in f2:
f.write(line)
这样可以避免加载整个文件进入内存,也比较快速和高效。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 取得两个文件的差集 - Python技术站