我有一个包含设备主机名的文本文件:
fc-acc-v-a-1
fc-cor-r-a-1
fc-agg-r1
我需要从文本文件中创建一个字典列表,如下所示:
[{'hostname': 'fc-acc-v-a-1', 'platform': ''},
{'hostname': 'fc-cor-r-a-1', 'platform': ''},
{'hostname': 'fc-agg-r1', 'platform': ''}]
到目前为止,这是我的代码:
with open("Devices.txt", "r") as devices:
keys = ["hostname", "platform"]
hosts = devices.read().splitlines()
device_dict = [dict(zip(keys, values)) for values in hosts]
print(device_dict)
然而,这并不是我想要它做的.以下是输出示例:
[{'hostname': 'f', 'platform': 'c'},
{'hostname': 'f', 'platform': 'c'},
{'hostname': 'f', 'platform': 'c'}]
我需要它将文本文件中的每一行指定为键hostname
的值,而platform
的值现在可以为空.我计划使用PySNMP创建函数,从每个主机名中获取sysDescr
OID,这将成 for each 设备的platform
键值.