簡體   English   中英

使用os.environ訪問系統變量

[英]Access to system variable by using os.environ

我使用下面的代碼創建了Windows system variable

import os
os.environ['BJT'] = 'HELLO'

但我在Advanced settings \\ system variables中看不到它當我嘗試打印時我也看不到它:

import os
print(os.environ['BJT'])

我認為當我使用os.environ創建系統變量時,它就像我在系統設置中那樣創建。 是否有可能從python代碼創建系統變量並訪問它,即使我重新啟動計算機?

您需要調用系統(具有管理員權限)來創建系統變量 ,您可以使用子進程

import subprocess
subprocess.run(['setx', 'BJT', '"HELLO"', '/M'])

python3.5之前,您需要使用process.call

對於什么樣的環境存在誤解。 它只是一個進程可以傳遞給子進程的(字符串)變量的映射。 具體而言,一個過程可以改變自己的環境(未來的孩子將使用它),但這不會改變其父母的環境,甚至也不會改變現有孩子的環境(如果有的話)。

此外,Windows還提供系統和用戶環境變量,這些變量用作任何進程的初始環境。 這不由changet os.environ也不由putenv但只能從Windows API或shell命令setx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM