res*_*esi 78 python cross-platform path environment-variables
有没有PATH办法使用python以独立于平台的方式修改环境变量?
类似的东西os.path.join()?
Red*_*yph 149
你应该能够修改os.environ.
由于os.pathsep是用于分隔不同路径的字符,因此您应该使用它来附加每个新路径:
os.environ["PATH"] += os.pathsep + path
Run Code Online (Sandbox Code Playgroud)
或者,如果要在列表中添加多个路径:
os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)
Run Code Online (Sandbox Code Playgroud)
正如您所提到的,os.path.join在必须从单独的部分构造它们的情况下,也可以用于必须附加的每个单独路径.
Gly*_*yph 17
请注意,这os.environ实际上不是字典.这是一个特殊的dictionary- 喜欢对象,它实际使用设置在当前进程的环境变量SETENV.
>>> os.environ.__class__
<class os._Environ at 0x100472050>
>>> import os
>>> os.environ["HELLO"] = "WORLD"
>>> os.getenv("HELLO")
'WORLD'
Run Code Online (Sandbox Code Playgroud)
这意味着PATH(和其他环境变量)将在同一进程中运行的C代码可见.
(由于评论不能包含格式,我必须把它放在一个答案中,但我觉得这是一个重要的观点.这实际上是关于没有相当于'export'的评论的评论.)
需要注意的是在Python中修改环境变量,就是没有"export"shell命令的等价物.没有办法将更改注入当前进程,只有子进程.
| 归档时间: |
|
| 查看次数: |
58156 次 |
| 最近记录: |