首页 > 解决方案 > 在 Python 中使用 Hash 删除重复文件。适用于英文文档但不适用于中文文档

问题描述

我查找了许多来源,并且能够删除英文文档中常见扩展类型的重复文件。但是,我无法为中文文档运行相同的代码,无论如何我可以解决这个问题吗?open(filename, "rb", encoding="utf-8") 不能根据 StackOverflow 上其他问题的一些答案解决我的问题。

谢谢你。

import os
import datetime
import hashlib

def chunk_reader(fobj, chunk_size=2048):
    # Generator that reads a file in chunks of bytes
    while True:
        chunk = fobj.read(chunk_size)
        if not chunk:
            return
        yield chunk


def get_hash(_file, chunk_size=2048, hash=hashlib.sha1):
    hashobj = hash()
    with open(_file, 'rb') as file_object:
        hashobj.update(file_object.read(chunk_size))
        ##for chunk in chunk_reader(file_object, chunk_size=chunk_size):
        ##    hashobj.update(chunk)
    _hash = hashobj.digest()
    return _hash

源代码: https ://www.darkartistry.com/2018/12/review-or-delete-duplicate-files-with-python/

标签: pythonhashduplicates

解决方案


推荐阅读