Python如何获取PyInstaller打包exe运行时关联打开的JPG文件路径
实现方案
核心逻辑:当你把.jpg格式关联到打包好的exe程序后,双击jpg文件时系统会自动将被点击的jpg文件的绝对路径作为命令行参数传给exe程序,Python中直接读取命令行参数即可拿到目标路径。
1. 核心代码实现
import sys def get_open_jpg_path(): # sys.argv[0] 是exe程序自身的存储路径,sys.argv[1] 就是被触发打开的jpg文件路径 if len(sys.argv) >= 2: target_jpg_path = sys.argv[1] # 可自行补充后缀校验逻辑,判断是否为jpg/jpeg格式文件 return target_jpg_path else: # 对应直接双击exe运行、没有传入关联文件的场景,可自行补充默认逻辑 return None if __name__ == "__main__": jpg_path = get_open_jpg_path() if jpg_path: # 此处替换为你自己的图片打开、处理逻辑即可 print(f"待打开的图片路径:{jpg_path}") else: print("未检测到关联打开的图片文件")
2. PyInstaller打包&关联配置说明
- 打包无需特殊参数,正常执行打包命令即可,示例命令:
pyinstaller -F -w your_script_name.py,其中-w参数用于关闭运行时的黑控制台窗口,GUI类程序建议添加 - 打包完成后,任意选中一个jpg文件,右键→打开方式→选择其他应用→找到打包好的exe文件,勾选「始终使用此应用打开.jpg文件」即可完成格式关联
3. 注意事项
路径包含中文、空格时无需额外编码处理,Python3的sys.argv默认已经用Unicode编码适配了系统传入的参数,可直接读取使用。
内容的提问来源于stack exchange,提问作者SimonAlpaca
相关产品推荐
相关产品推荐

