【发布时间】:2015-09-26 16:17:13
【问题描述】:
在 cmd 我使用这个命令:
set PATH=%PATH%;C:\Test
成功了!
但是,如果我在 python 文件中使用此代码,它就不起作用!
import os
os.system('set PATH=%PATH%;C:\Test')
我也试过这个代码:
import os
path = 'C:\Test'
os.environ["PATH"] += os.pathsep + path
不行!
但是这段代码运行良好(我需要重启 cmd 才能看到变化):
# Delete a part of PATH
os.environ['PATH'] = os.environ['path'][:414]
所以,我的问题是:
- 为什么我不能像那样在 python 中更改 PATH?
- 如何在python中更改?
【问题讨论】:
-
os.environ['PATH'] = os.environ['PATH'][...]对我来说也不起作用 -
可以退出cmd,重新打开
-
我在windows上测试,你用linux?
-
更改 Python 的
PATH副本只会影响由 Python 启动的子进程,即通过os.system或subprocess.Popen。 -
setx.exe修改注册表中的值,然后将WM_SETTINGCHANGE消息广播到顶级窗口。 Explorer 通过从注册表重新加载其环境来处理此消息。随后衍生的 Explorer 子进程将继承新环境。
标签: python windows python-2.7