2014-11-14 41 views
0

如何使用Python獲取當前用戶(「用戶變量」)的環境變量列表?Python中當前用戶的環境變量

os.environ()返回系統變量,並更改這些需要管理員訪問。

我想讓它改變PATH的用戶變量,因爲這可以沒有任何限制。

+0

您只想爲您的程序更改PATH變量,或者您想要永久修改用戶的PATH? – 2014-11-14 13:38:37

+0

不確定你的意思。我需要的是將文件夾添加到路徑,並且有2個選項(2個PATH變量):一個在需要管理員權限更改的「系統變量」中,另一個在「用戶變量」中不 – KKO 2014-11-14 15:16:06

回答

2

這是錯誤的。 os.environ返回當前進程的環境。在這個層面上,沒有用戶或系統變量的概念。

你當然可以改變任何這些環境變量。對於PATH只是做:

os.environ['PATH'] = new_path 

但你只改變了當前進程環境。這意味着這個新環境將被當前流程及其所有孩子使用,但在流程結束時會消失。

有修改主叫的環境shell

反正在窗戶裏沒有可移植的方法,你可以修改永久環境變量與命令setx。例如,如果你想在改變設置用戶環境變量FOObar,你可以做一個Python腳本:

import os 
os.system("setx FOO bar") 

但這種改變只能由過程中使用Windows資源管理器啓動的命令後就一直執行。尤其是python腳本的環境和調用cmd.exe(如果有的話)都不會改變。