我使用netmiko和ssh对juniper设备运行脚本。脚本运行命令以获取设备信息,如主机名、型号等。然后将输出保存到字典中。
从代码中打印输出结果的空间太大,输出没有正确保存到字典中
这是代码的打印输出结果
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}
甚至当我在juniper路由器上运行相同的命令时,也会遇到同样的空间问题。
因此,当我将juniper设备的每个输出保存到我的字典中时,它将保存如下
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
我真的需要你的帮助来建议我,我可以做些什么来克服这个问题,请帮助我。谢谢
发布于 2019-01-30 09:23:03
只是为了分享解决方案
我使用re.sub()和字符串切片,能够逐行获得干净的数据,没有任何空格和{master}状态。
谢谢。我希望这也能帮助其他人。
https://stackoverflow.com/questions/54395550
复制相似问题