python - 在 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/
解决方案
推荐阅读
- angular - 令牌未以角度 WWW-Authenticate: Bearer 发送到服务器并得到 401 错误
- javascript - 使用 webkitRelativePath 时,路径分隔符是操作系统特定的吗?
- oauth-2.0 - 在 SPA 应用程序中保护没有 OAuth2 客户端凭据流的 Api 调用
- jquery - 在 jquery 中更改字体系列
- gnuplot - Gnuplot中的动态彩色条形图?
- r - R在对象上重复功能
- python - 如何创建在python3中删除了多个列范围的文件副本
- git - 出现在 github 中的未提交文件
- c - CS50 - pset4 滤镜的模糊功能只是向上计数
- python - 如何在 Pynput 的按下和释放功能之间设置计时器?