鼠标放在标黄的代码行会显示:This code is unreachable(此代码无法访问)
def do_telnet(Host, username, password, terminal, command):
'''
:param Host: ip
:param username:用户名
:param password: 密码
:param terminal: 终端命令行
:param command: 命令
:return:
'''
# 连接Telnet服务器
tn=telnetlib.Telnet(Host,23)
tn.read_until(b'user: ')
tn.write(username.encode('ascii') + b'\n')
tn.read_until(b'password:')
tn.write(password.encode('ascii') + b'\n')
# 登录完毕后执行命令,e-高级
tn.read_until(terminal)
tn.write(b'%s\n' % command)
time.sleep(1)
result_a = tn.read_very_eager().decode('gbk')
#print(result_a+'\n',type(result_a))
# 显示协议报文列表
tn.write(b'%s\n' % Get_Number(result_a))
time.sleep(1)
pro_result = tn.read_very_eager().decode('gbk')
# print(pro_result+'\n',type(pro_result))
return output_df(pro_result, Host)
tn.close() # tn.write('exit\n') # 执行完毕后,终止Telnet连接(或输入exit退出)
看了一下,我的代码写的是一个函数,仔细观察后发现逻辑上有一点小问题。
解决办法:将return语句和tn.close语句交换一下位置即可