我创建了一个简单的python脚本,以使用RPC命令从路由中获取vpls mac表。但是它在运行时会引发错误。有人知道我在做什么错吗?
root @ ubuntu:〜#猫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 追溯(最近一次通话): 在第11行的文件“ test1.py”中 macs = dev.rpc.get-vpls-mac-table(normalize = True) NameError:名称“ vpls”未定义 root @ ubuntu:〜#
先谢谢了。
答案 0 :(得分:1)
JunOS RPC使用下划线转换为Pyez:
将其更改为:
sw = dev.rpc.get_vpls_mac_table()
答案 1 :(得分:0)
谢谢!现在可以使用sw = dev.rpc.get_vpls_mac_table()了。