感谢Python 库,我能够使用他们的示例远程登录到 Cisco 交换机,我将其用于学习目的,特别是学习 python。
但是,尽管所有代码看起来通常都很容易阅读,但我对以下内容有点困惑:
1- 为什么使用下面的 if 语句 2- 为什么在用户名和密码写入方法之后使用“\n” 3- 当更改实际上已提交并成功时,为什么我没有在我的 bash 终端上得到输出
HOST = "172.16.1.76"
user = raw_input("Enter your Telnet username : ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until("Username: ")
tn.write(user + '\n') <----- 2
if password: <----- 1
tn.read_until("Password: ")
tn.write(password + "\n") <------2
tn.write("show run \n")
time.sleep(5)
output = tn.read_all() <----- 3
print output
print "=" * 30
print "Configuration Complete."
我不确定为什么要使用上面的 if 语句,通常在输入用户名后,您会立即收到密码提示。为什么我们不能只输入:
tn.read_until("Username: ")
tn.write(user + '\n')
tn.read_until("Password: ")
tn.write(password + "\n")
至于第二点,如果我们要在添加后按回车,为什么要在 write 方法中的密码和用户名后面使用'\n'?