【发布时间】:2019-01-28 04:27:55
【问题描述】:
我使用 netmiko 和 ssh 运行我的脚本到瞻博网络设备。该脚本运行命令以获取设备信息,例如主机名、型号等。然后将输出保存到字典中。
代码的打印输出结果空间太大,输出无法正确保存到字典中
这是代码的打印输出结果
Hostname: vcx.lab01
{master}
Model: t640
{master}
Junos: 15.1R7-S1
{master}
如上所示,第一个命令输出和第二个命令输出之间有很多空格/间隙,每个命令都以 {master} 结尾。
下面是直接从 Juniper 路由器输出的键入命令
usr12@vcx.lab01> show version | match Hostname
Hostname: vcx.lab01
{master}
usr12@vcx.lab01> show version | match Model
Model: t640
{master}
usr12@vcx.lab01> show version | match Junos:
Junos: 15.1R7-S1
{master}
即使我在瞻博网络路由器上运行相同的命令时也会遇到相同的空间问题。
因此,当我将瞻博网络设备的每个输出保存到我的字典时,它会像下面这样保存
Hostname,Model,Version^M
"
Hostname: vcx.lab01
{master}","
Model: t640
{master}","
Junos: 15.1R7-S1
{master}"^M
我希望打印输出干净,没有空格,也没有像下面这样的 {master}
Hostname: vcx.lab01
Model: t640
Version: 15.1R7-S1
我想要字典文件如下
Hostname,Model,Version
vcx.lab01,t640,15.1R7-S1
我真的需要你的帮助来告诉我我可以做些什么来克服这个问题,请帮助我。谢谢
【问题讨论】:
-
嗨,仍然没有运气......任何人都可以提供进一步的建议。我不能使用 PyEZ,因为设备没有启用 netconf,不幸的是,启用此功能超出了我的控制范围。因此,目前唯一的方法是使用 connection.send_command()。获取并提取所需数据并尝试将其保存在字典中。谢谢