【问题标题】:macro environment variables not able to access in python无法在 python 中访问的宏环境变量
【发布时间】:2017-08-16 20:53:23
【问题描述】:

在 perl 中,引用环境变量:

print "$ENV{NAGIOS_HOSTNAME}\n";

在 bash 中,引用环境变量:

echo $NAGIOS_HOSTNAME

我正在尝试使用 os.environ['NAGIOS_HOSTNAME'] 访问环境变量

下面是错误

host_nagio=os.environ['NAGIOS_HOSTGROUPNAME']

` Traceback (most recent call last):
  File "Read_nagios_parm.py", line 6, in <module>
    host_nagio= os.environ['NAGIOS_HOSTGROUPNAME']
  File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'NAGIOS_HOSTGROUPNAME'`

如何使用python访问nagios的marco环境变量。

这似乎是一个我需要导出的简单错误。

【问题讨论】:

    标签: python-2.7 macros global-variables environment nagios


    【解决方案1】:

    来自the documentation

    os.environ

    一个映射对象 [...]

    os.environ['NAGIOS_HOSTGROUPNAME']
    

    【讨论】:

    • 那么那个环境变量不存在。
    • echo $NAGIOS_HOSTGROUPNAME root@opsview:/usr/local/nagios/libexec/notifications# echo $NAGIOS_HOSTGROUPNAME 的输出是空白数据
    • 那并不能证明环境变量存在,只能证明shell变量存在。
    • 对不起,我如何在 python 中访问这个 shell 变量?
    • 不能,它只存在于shell中。它需要导出到环境中。
    猜你喜欢
    • 2021-05-05
    • 2010-11-07
    • 2015-09-08
    • 2023-03-15
    • 2014-02-11
    • 2018-03-17
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多