2014-11-05 34 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: