确定如何设置环境变量

时间:2016-06-10 07:56:50

标签: python environment-variables

在Python中,我可以访问环境变量:

os.environ['FOO']

我想知道变量是先前通过export设置的,还是只为当前的python脚本设置的,如下所示:

FOO=BAR python some-script.py

基本上我只想使用FOO,如果它在上面的行中设置,而不是按export永久定义。

遗憾的是,python脚本本身的参数在这里没有选择。这是一个插件,父应用程序不允许传递它不了解的自定义参数。

我希望我能以某种方式访问​​启动python的完全命令(FOO=BAR python some-script.py),但似乎没有这样的东西。我想如果有这样的功能,它会出现在ossys个包中。

1 个答案:

答案 0 :(得分:4)

环境只是一个C字符串数组,那里没有元信息可以帮助您确定调用shell是否具有标记为export的变量。

在Linux上,您可以检查父PID的/proc/(pid)/environ(如果您有合适的权限),以查看父级永久环境中的内容,但这显然是不可移植且易碎的。

无论如何,花时间在这上面似乎是错误的;让用户以他们认为合适的任何方式传递环境变量。