Windows上不可用Python的os.getenvb方法

問題

在分析代碼時使用到os模塊的getenv()方法。奇怪的是,在PyCharm中語法不顯示錯誤提示,但運行時出現如圖所示錯誤:html

Windows上不可用Python的os.getenvb方法

進一步分析發現,Python中的os模塊提供了與操做系統進行交互的功能。操做系統屬於Python的標準實用程序模塊。該模塊提供了使用依賴於操做系統的功能的便攜式方法。python

os.getenvb()是Python中的方法os.getenv()的字節版本。此方法還返回與指定鍵關聯的環境變量的值。可是不像os.getenv()方法,它接受字節對象做爲鍵,並返回字節對象做爲與指定鍵關聯的環境變量的值。vim

函數os.getenvb()僅當環境的本機OS類型爲字節時,該方法纔可用。例如,Windows沒有字節做爲環境的本機OS類型,所以Windows的功能os.getenvb()該方法在Windows上不可用。ide

語法

os.getenvb(key, default = None)
參數:
key:一個字節對象,表示環境變量的名稱
默認值(可選):表示 key 不存在時默認值的字符串。若是省略,則默認設置爲「無」。函數

返回類型:此方法返回一個字節對象,該對象表示與指定鍵關聯的環境變量的值。若是 key 不存在,則返回默認參數的值。操作系統

代碼1:使用os.getenvb()方法

# Python program to explain os.getenvb() method  

# importing os module  
import os 

# Get the value of 'HOME' 
# environment variable 
key = b'HOME'
value = os.getenvb(key) 

# Print the value of 'HOME' 
# environment variable 
print("Value of 'HOME' environment variable :", value)  

# Get the value of 'JAVA_HOME' 
# environment variable 
key = b'JAVA_HOME'
value = os.getenvb(key) 

# Print the value of 'JAVA_HOME' 
# environment variable 
print("Value of 'JAVA_HOME' environment variable :", value)

輸出:
Value of 'HOME' environment variable : b'/home/ihritik'
Value of 'JAVA_HOME' environment variable : b'/opt/jdk-10.0.1'code

代碼2:若是 key 不存在

# Python program to explain os.getenvb() method  

# importing os module  
import os 

# Get the value of 'home' 
# environment variable 
key = b'home'
value = os.getenvb(key) 

# Print the value of 'home' 
# environment variable 
print("Value of 'home' environment variable :", value)

輸出:
Value of 'home' environment variable : Nonehtm

代碼3:明確指定默認參數

# Python program to explain os.getenvb() method  

# importing os module  
import os 

# Get the value of 'home' 
# environment variable 
key = b'home'
value = os.getenvb(key, default = "value does not exist") 

# Print the value of 'home' 
# environment variable 
print("Value of 'home' environment variable :", value)

輸出:
Value of 'home' environment variable : value does not exist對象

原文:

https://www.geeksforgeeks.org/python-os-getenvb-method/blog

中文譯文:

https://vimsky.com/examples/usage/python-os-getenvb-method.html

相關文章
相關標籤/搜索