0

我使用 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

我真的需要你的帮助来告诉我我能做些什么来克服这个问题,请帮助我。谢谢

4

1 回答 1

1

只是为了分享解决方案

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

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

于 2019-01-30T01:23:03.433 回答