Python高效对比两个中文文本文件并提取重复内容

本篇博客将介绍如何使用Python高效地比较两个中文文本文件,并将重复部分提取到一个新的文档中。以下是一个简单易懂的代码示例:pythondef compare_files(file1, file2, output_file): with open(file1, 'r', encoding='utf-8') as f1, open(file2, 'r', encoding='utf-8') as f2, open(output_file, 'w', encoding='utf-8') as output: # 读取文件内容 content1 = f1.read() content2 = f2.read() # 将内容转换为列表,每个元素为一行文本 lines1 = content1.split(' ') lines2 = content2.split(' ') # 找到重复的行 duplicates = set(lines1) & set(lines2) # 将重复的行写入输出文件 for line in duplicates: output.write(line + ' ')

示例用法compare_files('file1.txt', 'file2.txt', 'output.txt')

代码说明:

  1. compare_files(file1, file2, output_file) 函数: - 接受三个参数:第一个文件路径 (file1),第二个文件路径 (file2) 和输出文件路径 (output_file)。 - 使用 with open() 语句打开文件,确保文件在使用后自动关闭。 - 使用 encoding='utf-8' 指定文件编码为UTF-8,以便正确处理中文。

  2. 读取文件内容: - 使用 f1.read()f2.read() 读取两个文件的内容,并存储在 content1content2 变量中。

  3. 将内容转换为列表: - 使用 split(' ') 方法将文件内容按行分割,并将每行存储在一个列表中 (lines1lines2)。

  4. 找到重复的行: - 使用 set() 将列表转换为集合,利用集合的交集操作符 (&) 找到两个集合中的共同元素,即重复的行。

  5. 将重复的行写入输出文件: - 遍历 duplicates 集合,将每行内容写入输出文件 (output.txt),并使用 ' ' 添加换行符。

注意事项:

  • 此代码假设输入文件的编码为UTF-8,并且每行文本以换行符分隔。如果您的文件编码或分隔符不同,请相应地修改代码。 - 您可以根据需要修改代码,例如: - 忽略大小写差异 - 忽略空格差异 - 提取重复的单词或短语,而不是整行文本

希望这篇博客能够帮助您学习如何使用Python高效地对比两个中文文本文件并提取重复内容。如果您有任何问题,请随时在评论区留言。

Python高效对比两个中文文本文件并提取重复内容

原文地址: https://www.cveoy.top/t/topic/fCes 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录