简体   繁体   English

是否有任何方法将路径附加到python中的环境变量'PATH'

[英]Is there any method to append path to environment variable 'PATH' in python

I want to append the path to exists environment variable PATH using python script. 我想使用python脚本将该路径附加到存在的环境变量PATH中。

I have tried to use os.environ['path'] = 'C:\\foo\\bin:%PATH%' , but its deleting all the existing paths and creating 'C:\\foo\\bin:%PATH%' as new path value. 我尝试使用os.environ['path'] = 'C:\\foo\\bin:%PATH%' ,但是它删除了所有现有路径并创建了'C:\\foo\\bin:%PATH%'作为新'C:\\foo\\bin:%PATH%'路径值。

os.environ['path'] = 'C:\foo\bin:%PATH%'

You should be doing 你应该在做

  import os

  os.environ["PATH"] = "/your/path/"+ os.pathsep + os.environ["PATH"]

In your code: 在您的代码中:

os.environ['path'] = 'C:\foo\bin:%PATH%

python does not know what to do with %PATH% in the string, but the old value of the PATH environment variable is accessible as os.environ['path'] , so you can simply do: python不知道如何处理字符串中的%PATH% ,但是可以通过os.environ['path']访问PATH环境变量的旧值,因此您可以简单地执行以下操作:

os.environ['path'] = 'C:\foo\bin;' + os.environ['path']

You should be able to modify os.environ . 您应该能够修改os.environ

Since os.pathsep is the character to separate different paths, you should use this to append each new path: 由于os.pathsep是分隔不同路径的字符,因此应使用此字符追加每个新路径:

os.environ["PATH"] += os.pathsep + path

or, if there are several paths to add in a list: 或者,如果要在列表中添加多个路径:

os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)

As you mentioned, os.path.join can also be used for each individual path you have to append in the case you have to construct them from separate parts. 如前所述,在必须从单独的部分构造它们的情况下,也可以将os.path.join用于每个单独的路径。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM