环境变量NOT不在os Ubuntu中设置,但在os.environ中设置

时间:2017-10-20 13:49:35

标签: python-2.7 environment-variables

我正在使用os包来设置一些环境变量,如下所示:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
print ("--------------------------> : ", os.environ)

print '>>>> ',os.getenv('MY_ENV_APP')

if "MY_ENV_APP" not in os.environ:
    print "not in !"
    os.environ['MY_ENV_APP'] = "prod"
else:
    print "ok, good boy !"


print '>>>> ',os.getenv('MY_ENV_APP')
print ("--------------------------> : ", os.environ)

使用os.environ设置“MY_ENV_APP”,但不在Ubuntu系统中设置:

...
/usr/local/rvm/bin', 'MY_ENV_APP': 'prod', 'GEM_HOME': '/us
...

>>>>  None
not in !
>>>>  prod

...
/usr/local/rvm/bin', 'MY_ENV_APP': 'prod', 'GEM_HOME': '/us
...

系统os:

[02:59 ]-[vagrant@host]-[/var/www/python]
$ printenv | grep -i my_env_app

[02:59 ]-[vagrant@host]-[/var/www/python]
$ printenv | grep MY_ENV_APP

[03:00 ]-[vagrant@host]-[/var/www/python]
$ echo $MY_ENV_APP

$[03:02 ]-[vagrant@host]-[/var/www/python]

因此,环境变量设置为“在python中”,但不在系统中。

你能帮我吗?

谢谢, 和Fabrice

1 个答案:

答案 0 :(得分:1)

示例:

MY_ENV_APP=abcdef python test.py

这将仅为此过程设置变量。