如何将os.environ作为字典值使用

2024-10-01 07:38:57 发布

您现在位置:Python中文网/ 问答频道 /正文

在创建一个dictionzry时遇到了一些问题,它应该包含一个env变量作为每个键的值。 我想是单引号造成了问题。有人能给我指出一种Python式的方法吗?:)

macros = {
   'date': os.environ['NOTIFY_SHORTDATETIME'],
   'hostname': os.environ['NOTIFY_HOSTNAME'],
   'ip': os.environ['NOTIFY_HOSTADDRESS'],
   'alias': os.environ['NOTIFY_HOSTALIAS'],
   'hostcmd': os.environ['NOTIFY_HOSTCHECKCOMMAND'],
   'servicecmd': os.environ['NOTIFY_SERVICECHECKCOMMAND'],
   'servicenotifnum': os.environ['NOTIFY_SERVICENOTIFICATIONNUMBER'],
   'servicedesc': os.environ['NOTIFY_SERVICEDESC'],
   'hostoutput': os.environ['NOTIFY_HOSTOUTPUT'],
   'serviceoutput': os.environ['NOTIFY_SERVICEOUTPUT'],
   'hoststate': os.environ['NOTIFY_HOSTSTATE'],
   'svcstate': os.environ['NOTIFY_SERVICESTATE'],
   'lasthoststate': os.environ['NOTIFY_LASTHOSTSTATE'],
   'laststatesvc': os.environ['NOTIFY_LASTSTATESERVICE'],
   'notiftype': os.environ['NOTIFY_NOTIFICATIONTYPE'],
}

Tags: 方法ipenvdateosserviceenvironnotify
1条回答
网友
1楼 · 发布于 2024-10-01 07:38:57

键错误意味着命名项在os.environ中不存在。如果您试图找出机器上存在的是什么,可以调试并打印出如下列表:

import os
for k in os.environ:
  print k

在我的Windows XP设备上,我得到以下输出:

^{pr2}$

根据您得到的错误,您似乎在尝试将环境变量用于不同的操作系统,而不是实际使用的任何操作系统。应该通过引用计算机的正确操作系统环境变量来解决此问题。在

相关问题 更多 >