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
.
相关文章