如何在Python程序同目录下运行.exe文件 无需依赖设备绝对路径
解决方案
核心思路是先获取当前Python脚本本身的所在目录路径,再和目标exe文件名拼接,就能得到不依赖设备固定路径的动态正确路径。
方法1:使用os模块(兼容所有Python版本)
import os # 获取当前脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接得到exe的完整路径,仅需填写exe的文件名即可 exe_path = os.path.join(script_dir, "readerdc_en_xa_crd_install.exe") # 运行exe os.system(f'"{exe_path}"')
无论整个文件夹迁移到哪台设备的哪个路径下,os.path.abspath(__file__)都会自动识别当前脚本的真实绝对路径,提取目录后拼接同目录下的exe文件名,路径永远匹配。
方法2:使用pathlib模块(Python3.4及以上版本推荐,语法更简洁)
from pathlib import Path import os # 直接获取当前脚本所在目录,拼接exe文件名 exe_path = Path(__file__).parent / "readerdc_en_xa_crd_install.exe" # 运行exe os.system(f'"{exe_path}"')
注意事项
- 请确保exe文件和当前运行的Python脚本放在同一个文件夹下
- 代码中填写的exe文件名需要和实际文件名完全一致,包括
.exe后缀 - 不推荐直接写
./readerdc_en_xa_crd_install.exe这类相对路径,如果你在其他目录下调用该脚本,当前工作目录不是脚本所在目录时,这种写法会找不到文件,使用上述两种基于__file__获取路径的写法才能100%正常运行。
内容的提问来源于stack exchange,提问作者Ben Hille
相关产品推荐
相关产品推荐

