问一个talnetlib模块的问题
import getpassimport telnetlib
HOST = "localhost"
user = input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until(b"login: ")
tn.write(user.encode('ascii') + b"\n")
if password:
tn.read_until(b"Password: ")
tn.write(password.encode('ascii') + b"\n")
tn.write(b"ls\n")
tn.write(b"exit\n")
print(tn.read_all().decode('ascii'))
上面是python34的标准函数库DOC里面的例子,在python34目录下找到的,我试过是可以运行的。
问题有:
1. 上面的 tn = telnetlib.Telnet(HOST) 的 tn 究竟是什么?是模块Telnetlib吗?
2. tn = telnetlib.Telnet(HOST) #这句话又代表什么?为什么要赋给 tn 啊?
3. 为什么它引用函数时候都要在原括号里面加个b,是不是所有引用函数的情况下都需要加b呢?例如:(b"login: ") 1. tn是个变量
2. 应当是telnet的套接字连接
3. 没有用过python3,不过b应当是指byte方式访问,应当因为tn是使用二进制方式进行数据的读写,所以需要进行相应的数据格式转化。 你这个。第一个问题就让人厥倒...... 我也知道是变量,我主要想问,赋值给tn后会发生什么事情?回复 3# Linux_manne
回复 4# wto4883204
tn是telnetlib 的一个实例化对象
然后tn 可以调用telnetlib 模块中的方法
页:
[1]