Win10环境下Python3.9在cmd运行脚本提示文件不存在错误如何解决
问题排查与解决方法
根因定位
你看到的WinError 2报错和你传入的图片路径无关,报错栈指向subprocess.check_output调用阶段,说明是脚本依赖的外部可执行程序未被系统找到。你使用的read_thermal.py核心依赖ExifTool读取红外图片元数据,Ubuntu环境下你提前安装了该工具,但Windows环境未做对应配置。
解决步骤
- 首先安装Windows版ExifTool:下载后解压得到
exiftool.exe,有两种配置方式可选:- 把
exiftool.exe放到和flir_image_extractor.py同目录下 - 把
exiftool.exe所在的文件夹路径添加到系统环境变量PATH中,配置完成后重启cmd生效
- 把
- 修正脚本中ExifTool调用的跨平台兼容逻辑:原代码默认调用程序名是
exiftool,Windows下需要识别.exe后缀,在subprocess调用前增加系统判断:
import platform exiftool_bin = 'exiftool.exe' if platform.system() == 'Windows' else 'exiftool'
把原来subprocess调用里写死的exiftool替换成上面的exiftool_bin变量即可
- 修正cmd传参格式:Windows cmd不识别单引号作为路径边界符,传路径时统一用双引号包裹,比如你后面用的
"C:\Users\Daniel\Desktop\example.jpg"就是正确写法 - (可选)替换Windows商店版Python:商店版Python有沙箱权限限制,可能偶发读文件异常,建议换成Python官网下载的正式安装包重装,环境兼容性更好
验证方法
配置完成后新开cmd窗口,执行exiftool -version,如果能正常输出版本号,再运行你的Python脚本即可正常执行。
内容的提问来源于stack exchange,提问作者Danielvisky
相关产品推荐
相关产品推荐

