源代码如下:
import telnetlib
import logging
import datetime
import csv
import time
def telnetfunc(enbid, host, user, passwd):
try:
tn = telnetlib.Telnet(host)
tn.read_until(b'login: ')
tn.write(user.encode('ascii') + b'\n')
tn.read_until(b'Password: ')
tn.write(passwd.encode('ascii') + b'\n')
timestr = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
command = 'tftp -l /ata2/VER/CFG/cur.cfg -r %s-%s.cfg -p 10.204.195.129'%(enbid, timestr)
tn.read_until(b'#')
print('登录成功')
tn.write(command.encode('ascii')+b'\n')
tn.read_until(b'#')
tn.close()
return True
except:
logging.warning('%s网络连接失败'%host)
return False
def csvloop(filename):
with open(filename, newline='') as csv_file:
csv_table = csv.reader(csv_file, delimiter=',')
next(csv_table)
for enb in csv_table:
print("正在上传第%d个站的配置文件"%(csv_table.line_num-1), enb[0])
telnetfunc(enb[2], enb[3], enb[4], enb[5])
time.sleep(2)
if __name__ == '__main__':
csvloop('D:/yanfa/py/197IP.csv')
csv配置文件格式: