如何使用PyEZ获取Juniper路由器的mac地址表?它在运行时抛出一个错误



我创建了一个简单的python脚本,使用RPC命令从组中获取vpls-mac表。然而,它在运行时会抛出错误。有人知道我做错了什么吗?

root@ubuntu:~#cat vpls3.py

#!/usr/bin/python3
from jnpr.junos import Device
from lxml import etree
import jxmlease
username='lab'
password='lab'
dev = Device(host='10.85.164.172', user=username, password=password, normalize=True)
dev.open()
#invoke the RPC command
sw = dev.rpc.get-vpls-mac-table()
print(etree.tostring(sw, encoding='unicode'))

root@ubuntu:~#

以下是错误:

root@ubuntu:~# python vpls3.py
Traceback (most recent call last):
File "vpls3.py", line 13, in <module>
sw = dev.rpc.get-vpls-mac-table()
NameError: name 'vpls' is not defined
root@ubuntu:~#

我也尝试过以下脚本:

root@ubuntu:~#cat test1.py

from jnpr.junos import Device
from lxml import etree
# Set device information with IP-address, login user and passwort
dev = Device( user='lab', host='10.85.164.172', password='lab')
# Connect to the device
dev.open()
# Get MACs
macs = dev.rpc.get-vpls-mac-table(normalize=True)
# Print response of device
print (etree.tostring(macs))
# Close the connection
dev.close()

相同错误:

root@ubuntu:~#python test1.py追踪(最近一次通话(:文件"test1.py",第11行,位于macs=dev.rpc.get-vpls-mac表(normalize=True(NameError:未定义名称"vpls"root@ubuntu:~#

JunOS RPC使用下划线转换为Pyez:

将其更改为:

sw=dev.rpc.get_vpls_mac_table((

谢谢!它现在与sw=dev.rpc.get_vpls_mac_table((一起工作。

相关内容

最新更新