添加到PATH,以便以后与os.system或子流程一起使用.波彭用同样的剧本



假设"D:TempSubfoldermytest.exe"还不在PATH中。我试过了:

import os, sys, subprocess
sys.path.append("D:TempSubfolder")           # 1
os.environ['PATH'] += "D:TempSubfolder"      # 2

但在这两种情况下,这都失败了:

os.system('mytest')
subprocess.Popen('mytest')

问题:如何为当前运行的进程设置PATH,使os.systemsubprocess.Popen(或导入库调用的那些命令,这是我的用例(不会失败

PS:我正在寻找一种不必手动编辑Windows GUI环境变量的解决方案:控制面板>系统>高级系统设置>环境变量>

@Jay在评论中提到,解决方案是:

os.environ['PATH'] += os.pathsep + r"D:TempSubfolder"

(这假设环境变量PATH已经存在;在此之前进行检查可能会很有用(

事实上,os.environ['PATH']是一个字符串,而不是一个列表(这是我最初的想法(。

然后,两者:

os.system('mytest')
subprocess.Popen('mytest')

工作。


注意:这些都不起作用:

sys.path.append(os.pathsep + "D:TempSubfolder")
sys.path.append("D:TempSubfolder")

相关内容

  • 没有找到相关文章

最新更新