我有一个用 C++ 编写的程序。我想从中获取 python 可执行文件的完整路径。例如,如果我打开 Windows 命令提示符 (cmd.exe) 并键入 python,它会使用 PATH
中的 python 可执行文件。所以,我想要一个函数 get_exec_path("python")
返回类似 C:\Python27\python.exe
的东西。 C:\Python27\
在我的 PATH
中。
我需要这个来从 C++ 代码调用 python 脚本。就我的目的而言,在 C++ 中嵌入 python 不是一个好主意。我曾经这样调用它:
std::system("start \"\" /WAIT python myscript.py --arg1 arg1 --arg2 arg2")
但此方法显示命令提示符窗口,我想要某种后台工作。为此,我使用了带有第二个参数 "C:\Python27\python.exe myscript.py --arg1 arg1 --arg2 arg2"
的 CreateProcess
。所以,我需要从 PATH
变量到 python 可执行文件的完整路径。
最佳答案
你问错了问题。
与其试图绕过 shell(并在这样做时重新发明 PATH
变量),通过将适当的标志传递给 start 来利用它
用于隐藏命令提示符窗口。
根据 the documentation , 即 /b
:
Starts an application without opening a new Command Prompt window.
关于python - 从 C++ 获取 python 可执行文件的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39851169/