2014-11-05 33 views
4

對於python程序,我使用os.environ()來獲取具有某個鍵的環境變量。不過,如果密鑰在環境中不存在,我希望能夠做些什麼,而不是扔掉KeyErroros.environ不存在的鍵/環境變量

我擡頭看了幾個解決方案,但os.environ.get()os.getenv()似乎行動方式不同於我的預期。有沒有什麼辦法可以使用os.environ(),還能解決不存在的環境變量?

+0

'os.environ.get(鍵名,value_if_not_there)'是我會推薦......你能解釋它是如何作用不同於你的預期? (當然,另一種選擇是將整個shebang放在try/except塊中,然後只是捕獲KeyError並採取相應的行動,但不可能導致代碼與.get ...一樣好) – mgilson 2014-11-05 06:24:15

+0

還要注意'os .environ'不是一個函數,所以你不應該調用它(雖然我懷疑你不是或者你不會得到一個'KeyError')。 – mgilson 2014-11-05 06:27:51

+0

我的問題是我調用os.environ.get []而不是os.environ.get(),所以現在的行爲是我期望的。謝謝! – user3562406 2014-11-05 06:33:20

回答

5
os.environ.get("foo") 

返回None如果找不到「foo」。

您還可以使用

if "foo" in os.environ: