4
對於python程序,我使用os.environ()
來獲取具有某個鍵的環境變量。不過,如果密鑰在環境中不存在,我希望能夠做些什麼,而不是扔掉KeyError
。os.environ不存在的鍵/環境變量
我擡頭看了幾個解決方案,但os.environ.get()
和os.getenv()
似乎行動方式不同於我的預期。有沒有什麼辦法可以使用os.environ()
,還能解決不存在的環境變量?
對於python程序,我使用os.environ()
來獲取具有某個鍵的環境變量。不過,如果密鑰在環境中不存在,我希望能夠做些什麼,而不是扔掉KeyError
。os.environ不存在的鍵/環境變量
我擡頭看了幾個解決方案,但os.environ.get()
和os.getenv()
似乎行動方式不同於我的預期。有沒有什麼辦法可以使用os.environ()
,還能解決不存在的環境變量?
os.environ.get("foo")
返回None
如果找不到「foo」。
您還可以使用
if "foo" in os.environ:
'os.environ.get(鍵名,value_if_not_there)'是我會推薦......你能解釋它是如何作用不同於你的預期? (當然,另一種選擇是將整個shebang放在try/except塊中,然後只是捕獲KeyError並採取相應的行動,但不可能導致代碼與.get ...一樣好) – mgilson 2014-11-05 06:24:15
還要注意'os .environ'不是一個函數,所以你不應該調用它(雖然我懷疑你不是或者你不會得到一個'KeyError')。 – mgilson 2014-11-05 06:27:51
我的問題是我調用os.environ.get []而不是os.environ.get(),所以現在的行爲是我期望的。謝謝! – user3562406 2014-11-05 06:33:20