提取Juniper设备的输出并通过netmiko python保存到字典文件

时间:2019-01-28 04:27:56

标签: python csv ssh juniper

我使用netmiko和ssh将脚本运行到杜松设备。该脚本运行命令以获取设备信息,例如主机名,型号等。然后将输出保存到字典中。

代码输出的打印结果空间太大,输出没有正确保存到字典中

这是代码的打印输出结果

Hostname: vcx.lab01

{master}

Model: t640

{master}

Junos: 15.1R7-S1

{master}

如果您可以在上面看到,则第一条命令输出和第二条命令输出之间会有很多空格/间隙,并且每个命令将以{master}结尾。

以下是来自Juniper路由器的直接输出cli

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

我真的需要您的帮助来建议我该如何解决该问题,请帮助我。谢谢

1 个答案:

答案 0 :(得分:0)

只需分享解决方案

我使用re.sub()和字符串切片,并且能够逐行获取干净的数据,而没有任何空白和{master}状态。

谢谢。我希望这也可以帮助其他人。