操作系统()内联表达式未更改我的路径

2024-06-16 11:44:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python 2.7.6和windows8.1,并试图用os.sytem()在一个子进程中更改我的路径,以使用该行中的一些UNIX命令(使用MinGW/MSYS环境):

输入

>>> os.system(r'set PATH=%PATH%;C:\MinGW\msys\1.0\bin && set PATH && ls')

输出

^{pr2}$

我的意思是,对于我的系统中所有的dir,所有的旧路径都是的,正如您所看到的,C:\MinGW\msys\1.0\bin被正确地添加到我的路径中,但是当它被执行时,“ls”命令是未知的。在

我做错什么了?这是不是因为时间延迟太小而无法用新路径刷新路径?我怎么能得到它?在


Tags: path命令路径bin环境进程osunix
1条回答
网友
1楼 · 发布于 2024-06-16 11:44:41

您确定您没有拼错ls所在的目录,即C:\MinGW\msys\1.0\bin正是正确的位置吗?在

修改路径的更简单方法可能是使用os.putenv

os.putenv("PATH", r'%s;C:\MinGW\msys\1.0\bin' % os.getenv("PATH"))

{{cd5>你可以简单地用cd5}。在

您可能还想考虑切换到更强大的^{} module来调用外部命令。在

相关问题 更多 >