我是编程新手。面临这样的问题。正在使用 Zabbix 监控服务器。它有自己的API。挑战在于通过 Python 脚本连接到监控服务器并获取有关打印机及其计数器的信息并将其放入文件中。输出文件应具有以下格式:
名称打印机\标签计数器打印机
像这样:
HP1212 124512
我连接并接收数据,但无法使用“\t”将其记录在两列中。 我的代码:
`
from pyzabbix import ZabbixAPI
zapi = ZabbixAPI("http://*****/zabbix")
zapi.login("******", "*******")
item_name='Print_counter'
hosts = zapi.host.get( #get printers name
groupids=8,
output=['name'])
items = zapi.item.get( #get printers counter
groupids=8,
output=['lastvalue'],
filter={'name':item_name})`
我知道这个问题可能很微不足道,但我不知道如何解决。
我编辑了我的问题:
如果我使用:
对于主机中的主机:
a = 主机['名称']
打印一个
..我得到:
tpr001
tpr002
...
tpr020
它是我的打印机。
如果我使用:
对于项目中的项目:
b = 主机['值']
打印b
我得到:
12456
34645
...
56468
它抵消了我的打印机的影响。
我想对查询的输出进行分组,如下所示:
tpr001 12456
tpr002 34645
... ...
tpr020 56468
最佳答案
我认为你需要这样的东西:
for host in hosts:
a=host['name']
for item in items:
b=item['lastvalue']
print a,'\t',b`
关于python - 格式化输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44324619/