运行Python3图片处理脚本无输出文件,遇Blowfish弃用警告求助
问题解决思路
一、无输出文件的排查步骤
- 检查脚本中的输出路径:确认代码里指定的输出目录是否存在、是否有写入权限。比如使用
cv2.imwrite('output/img.jpg', img)时,需确保output文件夹已创建,否则会静默失败。可添加以下代码自动创建目录:import os output_dir = 'output' if not os.path.exists(output_dir): os.makedirs(output_dir) - 验证保存逻辑:检查是否存在条件判断跳过保存步骤(例:仅满足特定像素条件才保存,但所有图片均未触发)。可临时注释条件判断,强制保存一张测试图,验证是否生成文件。
- 核对文件扩展名:确认保存的文件名后缀是否正确(例:误将
.jpg写为.jpeg),避免文件已生成但因格式问题未被识别。 - 排查异常捕获:若代码使用
try...except但未打印错误信息,可能保存时抛出异常但未显示。可在保存代码块中添加异常打印:try: cv2.imwrite(output_path, processed_img) except Exception as e: print(f"保存失败: {e}") - 确认当前工作目录:脚本运行的工作目录可能与预期不符,可在脚本开头添加
print(os.getcwd()),查看输出文件是否生成在该目录下。
二、Blowfish弃用警告的处理
该警告来自paramiko库,与图片处理逻辑无关,不会导致无输出文件问题。消除警告的方式:
- 升级paramiko至最新版本:新版本已移除Blowfish依赖,终端运行
pip install --upgrade paramiko即可。 - 临时屏蔽警告:若无需升级,可在脚本开头添加代码屏蔽特定警告:
import warnings from cryptography.utils import CryptographyDeprecationWarning warnings.filterwarnings("ignore", category=CryptographyDeprecationWarning)
内容的提问来源于stack exchange,提问作者Vee21
相关产品推荐
相关产品推荐

