os.getenv 和 os.environ.get 的区别
问题描述
这两种方法有什么区别吗?
Is there any difference at all between both approaches?
>>> os.getenv('TERM')
'xterm'
>>> os.environ.get('TERM')
'xterm'
>>> os.getenv('FOOBAR', "not found") == "not found"
True
>>> os.environ.get('FOOBAR', "not found") == "not found"
True
它们似乎具有完全相同的功能.
They seem to have the exact same functionality.
解决方案
参见 此相关线程.基本上,os.environ 是在导入时找到的,而 os.getenv 是 os.environ.get 的包装器,至少在 CPython 中是这样.
See this related thread. Basically, os.environ is found on import, and os.getenv is a wrapper to os.environ.get, at least in CPython.
为了回复评论,在 CPython 中,os.getenv 基本上是 os.environ.get 的快捷方式;因为 os.environ 是在 os 的导入时加载的,只有这样,同样适用于os.getenv.
To respond to a comment, in CPython, os.getenv is basically a shortcut to os.environ.get ; since os.environ is loaded at import of os, and only then, the same holds for
os.getenv.
相关文章