os.environ
在python**中匯入python自帶模組os,使用os.environ可以獲取所有的環境變數資訊,但是只是乙個對映,也就是說對於environ的修改只是在當前**中,不會去修改本機上真實的環境變數。
一、設定系統環境變數
1、os.environ['環境變數名稱']='環境變數值' #其中key和value均為string型別
2、os.putenv('環境變數名稱', '環境變數值')
二、獲取系統環境變數
1、os.environ['環境變數名稱']
2、os.getenv('環境變數名稱')
import os
print(os.environ['path'])#獲取的路徑和os.getenv('path')獲取的一樣
print(os.getenv('path'))
os.putenv('aaa', 'bbb')
os.environ['ccc'] = 'ddd'
print(os.environ)//裡面有ccc,但是沒有aaa
print(os.getenv('aaa'))//none
修改本機真實環境變數
這就是我上一節說的操作登錄檔了,可以獲取到登錄檔中的環境變數,並修改真實的環境
winreg.hkey_local_machine\system\currentcontrolset\control\session manager\environment'
hkey_current_user\environment
path_key = winreg.openkey(winreg.hkey_local_machine,r'system\currentcontrolset\control\session manager\environment',0, winreg.key_all_access)
path_value = winreg.queryvalueex(path_key, 'path')
winreg.setvalueex(path_key,"path",0,winreg.reg_expand_sz, '新的環境變數')
refresh()
#修改登錄檔後,更新生效
def refresh():
hwnd_broadcast = 0xffff
wm_settingchange = 0x1a
smto_abortifhung = 0x0002
result = ctypes.c_long()
sendmessagetimeoutw = ctypes.windll.user32.sendmessagetimeoutw
sendmessagetimeoutw(hwnd_broadcast, wm_settingchange, 0, u'environment', smto_abortifhung, 5000, ctypes.byref(result))
環境變數temp的登錄檔路徑
有時候,我需要修改系統的環境變數temp,為了方便我都是在我的電腦的屬性中開啟環境變數對話方塊來修改。每當系統出現問題時,為了確認我的修改是否成功,我需要到登錄檔中檢視相應的鍵值。為了以後方便查詢,在此用文章記錄一下。系統環境變數分為 使用者變數 和 系統變數 兩種。使用者變數 對應的登錄檔路徑為 ...
C 寫登錄檔新增環境變數
在站點搭建的時候需要安裝.zip格式的 mysq l和 php的安裝包等,需要將解壓的路徑寫入系統環境變數中,這樣方便在使用mysql或者php的時候不需要新增絕對路徑而直接使用。所以需要將安裝路徑寫入環境變數,如 d mywww server mysql 5.6 bin 直接寫入環境變數的path...
修改登錄檔修改環境變數PATH
因公司辦公電腦做了許可權設定,不能通過右擊 我的電腦 屬性的方式更改環境變數值 摸索找到了通過修改登錄檔的方式修改path值 win r 輸入regedit開啟冊表編輯器 hkey local machine system currentcontrolset control session mana...