继我的previous question之后,是否可以生成持久更改Windows环境变量的Python脚本?
一旦python解释器终止,对os.environ的更改就不会持续。如果我是在UNIX上编写脚本,我可能会做如下操作:
set foo=`myscript.py`
但可惜的是,cmd.exe没有任何类似于sh的back tick行为的功能。我看到了一个冗长的解决方案。。。我们不一定能在这方面有所改进:
for /f "tokens=1* delims=" %%a in ('python ..\myscript.py') do set path=%path%;%%a
微软的头脑肯定有比这更好的解决方案!
注意:完全重复this question。
您冗长的解决方案可能是最好的主意;我不认为这是直接从Python获得的。本文建议使用另一种方法,即使用临时批处理文件:
http://code.activestate.com/recipes/159462/
您可能需要尝试由Mark Hammond开发的Python Win32 Extensions,它包含在ActivePython中(或者可以单独安装)。您可以学习如何在Hammond's and Robinson's book中执行许多与Windows相关的任务。
使用PyWin32访问windowsCOM对象,Python程序可以使用
WScript.Shell
对象的Environment Property这是环境变量的集合。Windows根据存储在注册表中的值为每个进程单独设置环境变量。
但是,Windows XP Service Pack 2 Support Tools中有一个名为setx.exe的工具,它允许您从命令行更改全局环境变量。
相关问题 更多 >
编程相关推荐