如何告诉subprocess一个目录应该在哪里查找可执行文件? 我读了How does CreateProcess locate the executable?但是,我不想修改当前进程的env变量(至少我想非常小心地做 - 在调用后立即恢复)。原因是我有相同名称的同一个应用程序的两个版本(在win64操作系统上运行的x86,x64版本),所以我想有固定的命令行字符串来执行工具并改变选择正确版本的搜索路径。解决我的问题最安全的方法是什么? 这里有一个示例代码来刷你的理解:
command_line = 'myapp -param=10 -param2=20'
exec_app(command_line, PLATFORM_WIN64)
exec_app(command_line, PLATFORM_WIN32)
答案 0 :(得分:1)
解决问题最安全的方法是什么?
传递绝对路径。您负责可执行文件的位置。将该逻辑构建到Python代码中,形成完整的绝对路径,然后使用它。