要检查一个文件夹中所有Word文件的内容是否重复,你可以使用Python的python-docx
库来读取Word文件的内容,并使用Python的集合数据结构来检查重复项。
以下是一个示例代码,演示如何实现这个功能:
python复制代码
import os | |
from docx import Document | |
def get_word_files(directory): | |
"""获取指定目录下的所有Word文件""" | |
word_files = [] | |
for filename in os.listdir(directory): | |
if filename.endswith('.docx') or filename.endswith('.doc'): | |
word_files.append(os.path.join(directory, filename)) | |
return word_files | |
def get_file_contents(file): | |
"""读取Word文件内容并返回文本列表""" | |
doc = Document(file) | |
contents = [paragraph.text for paragraph in doc.paragraphs] | |
return contents | |
def check_duplicates(word_files): | |
"""检查Word文件内容是否有重复""" | |
seen = set() # 用于存储已见过的内容 | |
duplicates = [] # 用于存储重复的内容 | |
for file in word_files: | |
contents = get_file_contents(file) | |
content_hash = hash(tuple(contents)) # 将内容转换为哈希值以便快速比较 | |
if content_hash in seen: | |
duplicates.append(file) # 发现重复内容,记录文件名 | |
else: | |
seen.add(content_hash) # 添加哈希值到已见过集合中 | |
return duplicates # 返回包含重复内容的文件名列表 | |
# 示例用法:检查指定目录下的所有Word文件内容是否重复 | |
directory = 'path/to/your/directory' # 替换为你的目录路径 | |
word_files = get_word_files(directory) | |
duplicates = check_duplicates(word_files) | |
print("重复内容的文件:", duplicates) |
请注意,这个示例代码使用了python-docx
库来读取Word文件的内容。如果你还没有安装这个库,可以使用以下命令来安装:
bash复制代码
pip install python-docx |