def read_device_excel( ): ip_list = [] try: filepath = askopenfilename(filetypes=[("Excel files", "*.xlsx")]) wb1 = load_workbook(filepath) ws1 = wb1.get_sheet_by_name("Sheet1") for cow_num in range(2, ws1.max_row+1): ipaddr = ws1["B"+str(cow_num)].value ntos = ws1["C"+str(cow_num)].value name = ws1["D"+str(cow_num)].value pswd = ws1["E"+str(cow_num)].value epswd = ws1["F"+str(cow_num)].value inscmd = ws1["G"+str(cow_num)].value ip_list.append((ipaddr, ntos, name, pswd, epswd, inscmd)) # print (ip_list) return ip_list except Exception as e: print("读取Excel文件出错:", e) return [] root = Tk() button = Button(root, text="选择文件", command=read_device_excel) button.pack() root.mainloop() def get_config(ipaddr,ntos,name,pswd,epswd,inscmd): session = ConnectHandler( device_type=ntos, ip=ipaddr, username=name, password=pswd, secret=epswd, port = 22, verbose = True, banner_timeout=300 )上传文件后并没有继续运行程序
时间: 2024-01-03 18:04:16 浏览: 136
file-read-write-http.zip_IOS HTTP_file read_urlreadwrite
根据您提供的代码,我猜测您可能是在 `get_config` 函数中调用了 `read_device_excel` 函数,但是没有处理函数返回值。您需要将 `read_device_excel` 函数的返回值传递给 `get_config` 函数,才能在 `get_config` 函数中得到读取的 Excel 文件内容。以下是修改后的代码:
```
def get_config(ipaddr, ntos, name, pswd, epswd, inscmd):
try:
session = ConnectHandler(
device_type=ntos,
ip=ipaddr,
username=name,
password=pswd,
secret=epswd,
port=22,
verbose=True,
banner_timeout=300
)
# 在此处添加您需要执行的命令
output = session.send_command(inscmd)
print(output)
session.disconnect()
except Exception as e:
print("连接失败:", e)
ip_list = read_device_excel()
for ipaddr, ntos, name, pswd, epswd, inscmd in ip_list:
get_config(ipaddr, ntos, name, pswd, epswd, inscmd)
```
在修改后的代码中,我们首先调用 `read_device_excel` 函数获取 Excel 文件内容,并将返回值赋值给 `ip_list`。然后使用 `for` 循环遍历 `ip_list` 中的每个元素,将元素的值作为参数传递给 `get_config` 函数,以执行您需要的操作。
阅读全文