Python中os.environ環(huán)境變量交互機(jī)制的使用
什么是os.environ?
os.environ
是 Python 提供的一個(gè) “環(huán)境變量字典”,它包含了當(dāng)前操作系統(tǒng)環(huán)境變量的全部信息。
- 由 Python 的
os
模塊 提供。 - 本質(zhì)上是一個(gè)特殊的 字典(os._Environ 對(duì)象),鍵是環(huán)境變量名稱,值是對(duì)應(yīng)的字符串。
1.我們可以把 os.environ 理解為:
“當(dāng)前 Python 進(jìn)程啟動(dòng)時(shí),繼承自操作系統(tǒng)環(huán)境變量的映射表”。
當(dāng)我們?cè)?Python 中訪問:
import os print(os.environ['PATH'])
獲取到的就是 系統(tǒng)環(huán)境變量 PATH 的值。
2.常見用法示例
訪問環(huán)境變量:
import os print(os.environ['PATH']) # 訪問 PATH 環(huán)境變量 print(os.environ.get('PYTHONPATH')) # 安全訪問,若沒有返回 None
設(shè)置/修改環(huán)境變量(僅當(dāng)前進(jìn)程有效):
os.environ['MY_VAR'] = 'HelloWorld' print(os.environ['MY_VAR']) # HelloWorld
刪除某個(gè)環(huán)境變量(僅當(dāng)前進(jìn)程有效):
del os.environ['MY_VAR']
遍歷所有環(huán)境變量:
for key, value in os.environ.items(): print(f"{key} = {value}")
3.os.environ 的特性
特性 | 說明 |
---|---|
表現(xiàn)為字典類型 (os._Environ) | 類似普通dict,但是受操作系統(tǒng)影響的特殊對(duì)象 |
只影響當(dāng)前Python進(jìn)程 | 我們通過 os.environ 修改的環(huán)境變量,不會(huì)影響系統(tǒng)/終端/其他程序 |
啟動(dòng)時(shí)從系統(tǒng)環(huán)境變量中繼承 | Python 啟動(dòng)時(shí),會(huì)讀取操作系統(tǒng)環(huán)境變量,填充 os.environ |
不會(huì)寫入到系統(tǒng)永久環(huán)境變量 | 想要永久生效需要到操作系統(tǒng)環(huán)境變量中配置(如Windows環(huán)境變量配置界面) |
4.os.environ 修改只對(duì)當(dāng)前進(jìn)程有效
例如:
import os os.environ['MY_VAR'] = 'Python' print(os.environ['MY_VAR']) # Python # 關(guān)閉Python后再運(yùn)行 CMD: echo %MY_VAR% -> 沒有這個(gè)變量
- 我們用 os.environ 設(shè)置的變量只存在于當(dāng)前Python進(jìn)程的內(nèi)存空間。
- 不會(huì)反向修改操作系統(tǒng)全局的環(huán)境變量。
5.PYTHONPATH 與 os.environ 的關(guān)系
當(dāng)我們?cè)O(shè)置了 系統(tǒng)環(huán)境變量 PYTHONPATH,Python 啟動(dòng)時(shí)會(huì)自動(dòng)將其加入
os.environ['PYTHONPATH']
。我們也可以在Python代碼里動(dòng)態(tài)設(shè)置 PYTHONPATH:
os.environ['PYTHONPATH'] = '/my/custom/path'
但這只影響當(dāng)前Python進(jìn)程的 sys.path 初始化,并不會(huì)改變系統(tǒng)環(huán)境變量。
6.總結(jié)一句話
os.environ 就是Python程序用來“讀取與操作環(huán)境變量”的窗口。它是Python對(duì)操作系統(tǒng)環(huán)境變量的一個(gè)實(shí)時(shí)映射(當(dāng)前進(jìn)程范圍內(nèi))。
到此這篇關(guān)于Python中os.environ環(huán)境變量交互機(jī)制的使用的文章就介紹到這了,更多相關(guān)Python os.environ內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬蟲開發(fā)與項(xiàng)目實(shí)戰(zhàn)
本書從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言和Web前端基礎(chǔ)知識(shí)引領(lǐng)讀者入門,之后介紹動(dòng)態(tài)爬蟲原理以及Scrapy爬蟲框架,最后介紹大規(guī)模數(shù)據(jù)下分布式爬蟲的設(shè)計(jì)以及PySpider爬蟲框架等,需要的朋友快來下載電子版吧2020-12-12Python利用QQ郵箱發(fā)送郵件的實(shí)現(xiàn)方法(分享)
下面小編就為大家?guī)硪黄狿ython利用QQ郵箱發(fā)送郵件的實(shí)現(xiàn)方法(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Python爬蟲突破反爬蟲機(jī)制知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python爬蟲突破反爬蟲機(jī)制知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-11-11Python3.7 dataclass使用指南小結(jié)
本文將帶你走進(jìn)python3.7的新特性dataclass,通過本文你將學(xué)會(huì)dataclass的使用并避免踏入某些陷阱。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02pytorch 圖像中的數(shù)據(jù)預(yù)處理和批標(biāo)準(zhǔn)化實(shí)例
今天小編就為大家分享一篇pytorch 圖像中的數(shù)據(jù)預(yù)處理和批標(biāo)準(zhǔn)化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01