亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

使用Python處理系統環境變量

2023-04-24 19:21:33
字體:
來源:轉載
供稿:網友

環境變量在操作系統中用于指定操作系統運行環境的一些參數。如臨時文件夾的位置,某種程序的搜索路徑等。

環境變量使用變量名=具體值的方式進行指定,每個變量之間使用分號進行分隔。

Python操作環境變量原理

在Python中,你可以把系統環境變量當做一個字典來操作。環境變量的變量名稱即為字典的鍵(key),而對應的鍵值就是對應的環境變量的值。

我們可以使用Python中os模塊中的environ對系統變量進行相關操作。

Python中操作系統環境變量

Python中讀取環境變量的所有值

下面這個例子用于輸出所有的系統變量信息

import os

print(os.environ)

輸出結果如下:

environ({'ALLUSERSPROFILE': 'C://ProgramData', 'APPDATA': 'C://Users//Kinglong//AppData//Roaming', 'COMMONPROGRAMFILES': 'C://Program Files//Common Files', 'COMMONPROGRAMFILES(X86)': 'C://Program Files (x86)//Common Files', 'COMMONPROGRAMW6432': 'C://Program Files//Common Files',  'COMSPEC': 'C://Windows//system32//cmd.exe', 'DRIVERDATA': 'C://Windows//System32//Drivers//DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default',  'HOME': 'C://Users//Kinglong', 'HOMEDRIVE': 'C:', 'HOMEPATH': '//Users//Kinglong',  'LOCALAPPDATA': 'C://Users//Kinglong//AppData//Local',  'NUMBER_OF_PROCESSORS': '8', 'NUTSUFFIX': '1', 'NUT_SUFFIXED_SEARCHING': '1', 'ONEDRIVE': 'D://onedrive', 'OS': 'Windows_NT', 'PATH': 'C://Windows//system32;C://Windows;C://Windows//System32//Wbem;C://Windows//System32//WindowsPowerShell//v1.0//;C://Windows//System32//OpenSSH//;C://Program Files (x86)//Microsoft SQL Server//100//Tools//Binn//;C://Program Files//Microsoft SQL Server//100//Tools//Binn//;C://Program Files//Microsoft SQL Server//100//DTS//Binn//;C://Program Files (x86)//Microsoft SQL Server//100//Tools//Binn//VSShell//Common7//IDE//;C://Program Files (x86)//Microsoft Visual Studio 9.0//Common7//IDE//PrivateAssemblies//;C://Program Files (x86)//Microsoft SQL Server//100//DTS//Binn//;C://Program Files//Microsoft SQL Server//130//Tools//Binn//;C://Program Files//Microsoft SQL Server//Client SDK//ODBC//170//Tools//Binn//;C://Program Files//dotnet//;C://Program Files (x86)//Rational//common;C://Users//Kinglong//AppData//Local//Programs//Python//Python310//Scripts//;C://Users//Kinglong//AppData//Local//Programs//Python//Python310//;C://Users//Kinglong//AppData//Local//Microsoft//WindowsApps;C://Users//Kinglong//.dotnet//tools;C://Program Files//JetBrains//PyCharm 2022.1.3//bin;',  'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 140 Stepping 2, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '8c02', 'PROGRAMDATA': 'C://ProgramData', 'PROGRAMFILES': 'C://Program Files', 'PROGRAMFILES(X86)': 'C://Program Files (x86)', 'PROGRAMW6432': 'C://Program Files', 'PSMODULEPATH': 'C://Program Files//WindowsPowerShell//Modules;C://Windows//system32//WindowsPowerShell//v1.0//Modules', 'PUBLIC': 'C://Users//Public', 'PYCHARM': 'C://Program Files//JetBrains//PyCharm 2022.1.3//bin;', 'RATL_RTHOME': 'C://Program Files (x86)//Rational//Rational Test',  'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C://Windows', 'TEMP': 'C://Users//Kinglong//AppData//Local//Temp', 'TMP': 'C://Users//Kinglong//AppData//Local//Temp', 'USERNAME': 'Kinglong', 'USERPROFILE': 'C://Users//Kinglong',  'WINDIR': 'C://Windows', 'ZES_ENABLE_SYSMAN': '1'})

可以看到這個輸出結果很長,這跟操作系統和安裝軟件的內容的具體設置有關,每臺電腦的信息不一定相同。

上面這個結果在一行中輸出所有內容,顯得有些凌亂,如果想讓其按照鍵值的方式顯示內容,你可以使用一個循環來處理。

import os

for k, v in os.inviron.items():
    print(f'{k}={v}')

輸出結果如下:

ALLUSERSPROFILE=C:/ProgramData
APPDATA=C:/Users/Kinglong/AppData/Roaming
COMMONPROGRAMFILES=C:/Program Files/Common Files
COMMONPROGRAMFILES(X86)=C:/Program Files (x86)/Common Files
COMMONPROGRAMW6432=C:/Program Files/Common Files
COMSPEC=C:/Windows/system32/cmd.exe
DRIVERDATA=C:/Windows/System32/Drivers/DriverData
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOME=C:/Users/Kinglong
HOMEDRIVE=C:
HOMEPATH=/Users/Kinglong
LOCALAPPDATA=C:/Users/Kinglong/AppData/Local
NUMBER_OF_PROCESSORS=8
NUTSUFFIX=1
NUT_SUFFIXED_SEARCHING=1
ONEDRIVE=D:/onedrive
OS=Windows_NT
PATH=C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Windows/System32/OpenSSH/;C:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/;C:/Program Files/Microsoft SQL Server/100/Tools/Binn/;C:/Program Files/Microsoft SQL Server/100/DTS/Binn/;C:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/;C:/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/;C:/Program Files (x86)/Microsoft SQL Server/100/DTS/Binn/;C:/Program Files/Microsoft SQL Server/130/Tools/Binn/;C:/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn/;C:/Program Files/dotnet/;C:/Program Files (x86)/Rational/common;C:/Users/Kinglong/AppData/Local/Programs/Python/Python310/Scripts/;C:/Users/Kinglong/AppData/Local/Programs/Python/Python310/;C:/Users/Kinglong/AppData/Local/Microsoft/WindowsApps;C:/Users/Kinglong/.dotnet/tools;C:/Program Files/JetBrains/PyCharm 2022.1.3/bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=8c02
PROGRAMDATA=C:/ProgramData
PROGRAMFILES=C:/Program Files
PROGRAMFILES(X86)=C:/Program Files (x86)
PROGRAMW6432=C:/Program Files
PSMODULEPATH=C:/Program Files/WindowsPowerShell/Modules;C:/Windows/system32/WindowsPowerShell/v1.0/Modules
PUBLIC=C:/Users/Public
PYCHARM=C:/Program Files/JetBrains/PyCharm 2022.1.3/bin;
RATL_RTHOME=C:/Program Files (x86)/Rational/Rational Test
SESSIONNAME=Console
SYSTEMDRIVE=C:
SYSTEMROOT=C:/Windows
TEMP=C:/Users/Kinglong/AppData/Local/Temp
TMP=C:/Users/Kinglong/AppData/Local/Temp
USERNAME=Kinglong
USERPROFILE=C:/Users/Kinglong
WINDIR=C:/Windows
ZES_ENABLE_SYSMAN=1

這個結果要比上一個清晰的多,閱讀比較方便。

Python讀取特定環境變量的值

有時我們需要讀取特定變量的值,下面這段程序可以實現這個要求。

import os

temp_dir = os.environ['temp']
path = os.environ['path']

print(f'臨時文件夾:{temp_dir},/r/n路徑:{path}')

輸出結果如下:

臨時文件夾:C:/Users/Kinglong/AppData/Local/Temp,

路徑:C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Windows/System32/OpenSSH/;C:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/;C:/Program Files/Microsoft SQL Server/100/Tools/Binn/;C:/Program Files/Microsoft SQL Server/100/DTS/Binn/;C:/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn/VSShell/Common7/IDE/;C:/Program Files (x86)/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies/;C:/Program Files (x86)/Microsoft SQL Server/100/DTS/Binn/;C:/Program Files/Microsoft SQL Server/130/Tools/Binn/;C:/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn/;C:/Program Files/dotnet/;C:/Program Files (x86)/Rational/common;C:/Users/Kinglong/AppData/Local/Programs/Python/Python310/Scripts/;C:/Users/Kinglong/AppData/Local/Programs/Python/Python310/;C:/Users/Kinglong/AppData/Local/Microsoft/WindowsApps;C:/Users/Kinglong/.dotnet/tools;C:/Program Files/JetBrains/PyCharm 2022.1.3/bin;

上面的代碼實現了輸出了系統的臨時存儲目錄和程序運行的搜索路徑。

這樣就可以根據用戶的需要來讀取指定的系統變量值。

Python判斷指定的系統變量是否存在

上面的程序實現了讀取指定系統變量的值,但如果指定的系統變量不存在時,將會引發KeyError錯誤,為了較好的處理這個問題,我們可以在操作指定系統變量之前先判斷一下該系統變量是否存在,具體操作方法如下:

import os

what_vars = [ 'temp', 'VeVb.com']
for v in what_vars:
   if v in os.environ:
        print(f'{v} = {os.environ[v]}')
   else:
        print(f'{v}在系統變量中不存在。')

輸出結果如下:

temp = C:/Users/Kinglong/AppData/Local/Temp
VeVb.com在系統變量中不存在。

使用os.environ.get()方法獲取環境變量的值

使用os.environ.get()方法也可以避免出現KeyError錯誤。當指定的環境變量不存在時,os.environ.get()方法將返回None值。該方法也可以指定一個默認值,當指定的環境變量不存在時將返回指定的默認值。

import os

what_var1, what_var2, what_var3 = 'temp', 'syspath', 'java'
print(os.environ.get(what_var1))
print(os.environ.get(what_var2))
print(os.environ.get(what_var3, 'java_home'))

輸出結果:

C:/Users/Kinglong/AppData/Local/Temp
None
java_home

上面程序中,what_var2what_var3指定的環境變量是不存在的,所以在使用what_var2輸出指定環境變量的值時,其輸出了None,而我們給what_var3指定了默認值,則其輸出了其指定的默認值"java_home"

Python中設置環境變量的值

在Python中可以使用下面的方法設置環境變量。

import os

print(f"修改前:{os.environ.get('TMP')}")
os.environ['tmp'] = f'D:/Files'
print(f"修改后:{os.environ.get('TMP')}")

輸出結果:

修改前:C:/Users/Kinglong/AppData/Local/Temp
修改后:D:/Files

要注意使用這種方式不能真正的修改系統的環境變量值,它只是修改了Python當前解釋器運行中的值。同時,在使用該方法修改系統變量的值時,該值必須使用字符串的形式給出,即使是數值也需要指定為字符串的格式。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩免费在线观看| 97久久伊人激情网| zzijzzij亚洲日本成熟少妇| 最近2019好看的中文字幕免费| 欧美激情a在线| 亚洲香蕉成视频在线观看| 在线视频欧美日韩| 亚洲精品有码在线| 亚洲图片欧美日产| 久久久久久久一区二区| 欧美在线激情视频| 日韩av中文字幕在线免费观看| 久久久av网站| 日韩在线视频免费观看| 中文欧美在线视频| 久久精品一区中文字幕| 亚洲精品成人久久| 青青a在线精品免费观看| 成人精品视频99在线观看免费| 欧美精品手机在线| 欧美性生活大片免费观看网址| 久久影视免费观看| 国产精品视频一区国模私拍| 久久亚洲欧美日韩精品专区| 国产日韩精品电影| 国产精品普通话| 欧美精品一二区| 中文字幕久热精品视频在线| 亚洲欧美制服综合另类| 国产97人人超碰caoprom| 欧美成aaa人片在线观看蜜臀| 亚洲国产小视频在线观看| 91人成网站www| 国产成人黄色av| 精品一区电影国产| 成人性生交大片免费看视频直播| 伊人伊成久久人综合网站| 欧美性视频在线| 68精品久久久久久欧美| 国产在线观看精品一区二区三区| 热re99久久精品国产66热| 国产精品扒开腿做| 日韩欧美国产黄色| 97色在线视频观看| 精品国产福利视频| 91人人爽人人爽人人精88v| 日韩av观看网址| 中文字幕成人精品久久不卡| 精品成人69xx.xyz| 欧美激情精品久久久| 亚洲天堂成人在线视频| 国产精品久久久久久网站| 午夜精品久久久久久久久久久久久| 国产亚洲精品一区二555| 国模私拍视频一区| 日韩中文字幕网址| 日韩电影免费在线观看| 亚洲另类激情图| 亚洲女人天堂视频| 亚洲成人性视频| 一区二区三区四区在线观看视频| 欧美视频中文在线看| 97精品国产97久久久久久| 欧美日韩国产一区中文午夜| 久久综合久久美利坚合众国| 日韩免费在线看| 国产偷亚洲偷欧美偷精品| 国产69精品久久久久9| 欧美成人精品xxx| 欧美特黄级在线| 久久久成人精品| 欧美大尺度在线观看| 中文字幕亚洲色图| 日韩av不卡在线| 色综合伊人色综合网站| 午夜精品福利视频| 国产精品极品尤物在线观看| 亚洲成人网在线| 国产美女精品免费电影| 国产成人精品视频在线| 亚洲新声在线观看| 日韩中文字在线| 国产精品亚洲第一区| 成人精品aaaa网站| 日韩av网址在线| 国产精品无av码在线观看| 亚洲国产精品女人久久久| 久久噜噜噜精品国产亚洲综合| 欧美中文字幕视频在线观看| 97在线看福利| 欧美精品第一页在线播放| 色综合伊人色综合网站| 精品日韩中文字幕| 日本aⅴ大伊香蕉精品视频| 国产专区精品视频| 国产成人精品电影久久久| 国产精品一区二区三区久久| 一区二区三区回区在观看免费视频| 精品欧美国产一区二区三区| 日韩在线视频一区| 69视频在线播放| 亚洲精品av在线| 欧美黑人极品猛少妇色xxxxx| 日韩视频欧美视频| 欧美高清视频在线播放| 97人人模人人爽人人喊中文字| 91精品国产高清自在线| 亚洲人成欧美中文字幕| 亚洲精品视频中文字幕| 欧美在线www| 成人免费午夜电影| 自拍视频国产精品| 欧美日韩精品国产| 成人性生交大片免费看小说| 亚洲精品久久久久中文字幕二区| 中文字幕成人精品久久不卡| www.欧美三级电影.com| 国模吧一区二区三区| 国内精品久久久久影院 日本资源| 国产精品午夜视频| 国产99久久精品一区二区 夜夜躁日日躁| 久久精品视频导航| 亚洲白拍色综合图区| 国产手机视频精品| 韩剧1988免费观看全集| 日韩激情片免费| 91日本在线视频| 日韩欧美国产网站| 午夜伦理精品一区| 亚洲人成网7777777国产| 亚洲欧美自拍一区| 国产日韩欧美黄色| 欧美日韩福利视频| 国产成人精品在线视频| 57pao成人国产永久免费| 亚洲欧美日韩国产中文| 成人激情春色网| 91系列在线观看| 国产成人精品久久二区二区91| 欧洲美女7788成人免费视频| 夜夜嗨av色综合久久久综合网| 国产成人啪精品视频免费网| 久久影视电视剧免费网站| 中文字幕在线观看亚洲| 国产精品黄页免费高清在线观看| 88xx成人精品| 欧美激情xxxx性bbbb| 国语自产精品视频在线看抢先版图片| 亚洲图片欧洲图片av| 日本久久久久久久久| 免费不卡欧美自拍视频| 777777777亚洲妇女| 57pao国产成人免费| 国产中文欧美精品| 国产精品网址在线| 日韩欧美aⅴ综合网站发布| 亚洲成av人乱码色午夜| 精品视频www| 久久精品国产亚洲7777| 国产精品自拍网| 日韩亚洲第一页| 性色av一区二区三区| 国产亚洲福利一区| 久久免费视频在线|