【问题标题】:os.environ with nonexistent keys/environment variablesos.environ 具有不存在的键/环境变量
【发布时间】:2014-11-05 06:22:24
【问题描述】:

对于一个 python 程序,我使用os.environ() 来获取具有某个键的环境变量。但是,如果环境中不存在密钥,我希望能够做一些事情,而不是抛出KeyError

我查找了一些解决方案,但 os.environ.get()os.getenv() 的行为似乎与我的预期不同。有什么方法可以使用os.environ() 并且仍然可以解决不存在的环境变量?

【问题讨论】:

  • os.environ.get(keyname, value_if_not_there) 是我会推荐的...你能解释一下它的行为与你预期的不同吗? (当然,另一种选择是将整个 shebang 放在 try/except 块中,然后捕获 KeyError 并采取相应措施,但它不太可能产生像 .get ... 这样好的代码)
  • 还要注意 os.environ 不是一个函数,所以你不应该调用它(尽管我怀疑你不是或者你不会得到一个 KeyError)。
  • 我的问题是我调用的是 os.environ.get[] 而不是 os.environ.get(),所以现在的行为是我所期望的。谢谢!

标签: python environment-variables


【解决方案1】:
os.environ.get("foo")

如果找不到“foo”,则返回 None

你也可以使用

if "foo" in os.environ:

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 2020-10-25
    • 2015-07-12
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    相关资源
    最近更新 更多