You need to enable JavaScript to run this app. Python如何设置指定图片路径完成哈希计算 替代全目录遍历图片逻辑
优惠活动
大模型
产品
解决方案
定价
更多

Python如何设置指定图片路径完成哈希计算 替代全目录遍历图片逻辑

代码调整方案

原代码的核心冗余部分是递归遍历目录的全量扫描逻辑,要改成仅处理指定图片的模式,不需要保留目录遍历、后缀筛选的功能,具体改动如下:

  • 移除原代码中的目录递归函数get_images、图片后缀列表image_ext,这两个模块是为全目录扫描设计的,单文件处理场景下完全用不到
  • 保留原有的日志配置、SHA256哈希计算核心函数,仅在函数内补充简单的路径存在性校验,避免路径写错时抛出模糊的无意义报错
  • 单独划出明确的配置区块,用来填写需要处理的目标图片路径,支持单张/多张自定义配置
修改后完整代码
import os
import hashlib
import logging

# 日志写入逻辑和原代码保持一致,哈希结果输出到InitializationHash.txt
logging.basicConfig(filename='InitializationHash.txt', level=logging.INFO,
                    format='%(message)s')

def hash_image(filepath):
    # 前置校验:确认传入路径是真实存在的文件
    if not os.path.isfile(filepath):
        raise FileNotFoundError(f"无法读取文件,路径无效:{filepath}")
    with open(filepath, 'rb') as f:
        file_bytes = f.read()
        hash_text = hashlib.sha256(file_bytes).hexdigest()
        # 日志中同时记录文件路径和哈希值,方便后续溯源
        logging.info(f"文件:{os.path.abspath(filepath)},哈希值:{hash_text}")

if __name__ == '__main__':
    # ================================== 目标图片配置区(直接改这里的路径即可) ==================================
    # 单张图片写法:把目标图片的绝对/相对路径填到列表里,Windows路径建议加r前缀,避免反斜杠被转义出错
    # 示例路径:r"C:\Users\admin\Desktop\TD\image.png"
    # 多张图片写法:列表里逐行添加路径即可,例如:
    # target_images = [
    #     r"C:\Users\admin\Desktop\TD\image1.png",
    #     r"C:\Users\admin\Desktop\TD\image2.jpg"
    # ]
    target_images = [
        r"C:\Users\admin\Desktop\TD\image.png"
    ]
    # ========================================================================================================
    
    # 循环处理所有配置的目标图片
    for img_path in target_images:
        hash_image(img_path)
使用说明
  • 路径配置支持绝对路径(比如示例中的桌面文件路径),也支持相对路径(如果图片和当前Python脚本在同一个文件夹,直接写文件名即可,比如"./test.png")
  • 程序运行后不会自动扫描任何文件夹下的图片,只会处理你在配置区写进列表的文件,不会出现误计算其他图片的情况
  • 日志文件InitializationHash.txt里会同时记录文件完整路径和对应的SHA256哈希值,不会出现哈希值和文件无法对应的问题

内容的提问来源于stack exchange,提问作者Ely Attallah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 15:45:11