在日常工作中,我们常常需要对比两个 Word 文件的内容差异。用 Python 来实现自动化对比,能大幅提高效率。下面就分享实现 Word 文件内容对比的方法,并附上简单的 Python 代码示例。
Python 有不少库能处理 Word 文件,这里选用python-docx
库来读取 Word 文件内容,再使用difflib
库进行文本对比。
首先,要安装python-docx
库和difflib
库(difflib
是 Python 标准库,无需额外安装),可以使用pip install python-docx
进行安装。
安装完成后,下面是实现代码:
python
from docx import Document
import difflib
def read_docx(file_path):
doc = Document(file_path)
full_text = []
for para in doc.paragraphs:
full_text.append(para.text)
return "\n".join(full_text)
file1_path = "file1.docx"
file2_path = "file2.docx"
text1 = read_docx(file1_path)
text2 = read_docx(file2_path)
d = difflib.Differ()
diff = list(d.compare(text1.splitlines(), text2.splitlines()))
for line in diff:
if line.startswith('+ '):
print(f'新增内容: {line[2:]}')
elif line.startswith('- '):
print(f'删除内容: {line[2:]}')
elif line.startswith('? '):
print(f'变动细节: {line[2:]}')
else:
print(f'相同内容: {line}')
上述代码中,read_docx
函数负责读取 Word 文件,将每个段落的文本提取出来并拼接成一个长字符串。之后通过difflib.Differ
对两个文件的内容按行进行对比,最后根据不同的对比结果标识,输出新增、删除、变动细节以及相同的内容。
使用 Python 实现 Word 文件内容对比,不仅能快速、准确地找出差异,还可以根据需求进一步扩展代码,比如将对比结果保存到新文件中,或是以更美观的格式展示。如果你在处理 Word 文件对比时遇到其他问题,不妨尝试从这些基础代码出发,进行功能拓展。