Python 会触发安装路径未知的外部可执行文件



我正在尝试通过python脚本运行可执行文件,唯一的问题是可执行文件的路径不知道使用子进程从cmd运行它。波彭。有没有办法找到这个知道它的名字并且它没有添加到变量路径中的可执行文件?

您应该将 exe 添加到您的路径变量中。如果您不想,可以提供 exe 的完整路径。不建议每次要运行 exe 时都在整个文件系统中搜索它。但是,如果您大致知道 exe 的位置,您可以像这样在那里搜索:

import glob
import subprocess
my_exe = ""
search_paths = [r'C:Program FilesMyCompanyName*binmyexe.exe','/usr/bin/myexe','/usr/local','/opt/myexe/bin/myexe']
for search_path in search_paths:
for exe in glob.glob(search_path):
my_exe = exe
break
if len(my_exe) != 0:
break
if len(my_exe) != 0:
subprocess.run([my_exe,'-my-args'])
else:
print("Didn't find the exe")

另一种选择是创建一个带有 exe 路径的环境变量,然后使用它在 python 中获取它

import os
import subprocess
my_exe = os.environ['MY_EXE_PATH']
if len(my_exe) != 0:
if os.path.exists(my_exe):
subprocess.run([my_exe,'-my-args'])
else:
print("Invalid path in MY_EXE_PATH")
else:
print("Please set the MY_EXE_PATH variable")

最新更新