我正在使用python脚本从Excel文件的列中读取数据并使用该数据在Cisco交换机上执行命令。从Excel中读取列中的数据
例如,下面我有2列
Switch MAC
aaa.com mac.aaa.000
bbb.com mac.bbb.000
ccc.com mac.ccc.000
..... .....
蟒蛇现在去切换AAA和将设置港口安全与Mac mac.aaa.000为粘性。
这是命令:
switchport port-security **<mac-address>** sticky
现在我已经登录部分完成,我执行命令。我需要从文件中读取2列的部分提供帮助,并知道要登录才能在相应的列上切换a和粘性的macaaa。
这是怎么了登录和交换机上执行命令:
term_len = "term len 0"
# Need a loop here that gets switchname from coulmn A and assign it to variable host and also corresponding MAC address and assigns it to variable MAC
host = ""
MAC = ""
session = telnetlib.Telnet(host)
session.write(cred.username + '\n')
session.read_until('Password: ')
session.write(cred.password + '\n')
session.read_until('>')
session.write(cred.en + '\n')
session.read_until('Password: ')
session.write(cred.en_pass + '\n')
session.read_until('#')
session.write(term_len + '\n')
session.write(switchport port-security **MAC** sticky + '\n')
请帮助。循环将从文件读取所有交换机和MAC并执行sticky命令。
我下载了openpyxl文件夹,但似乎无法找到tkinter。我做了Tkinter,它认出了它,但“skopenfilename”等有红线。我的同事告诉我,不建议从Excel中读取数据,因此您可以为简单的txt文件添加解决方案。它将会有交换空间和连接空间,然后是MAC地址,然后是下一行等等。 – Damon
您最好在这一点上将您的文本格式化为csv(Host,Mac)编辑器,并使用标准csv库和上述的循环过程。 https://docs.python.org/2/library/csv.html –
@Damon tkinter不是openpyxl库的一部分,它是一个不同的python包。 – StarLord