免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2308 | 回复: 4
打印 上一主题 下一主题

问一个talnetlib模块的问题 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-15 10:45 |只看该作者 |倒序浏览
import getpass
import 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: ")

论坛徽章:
4
白羊座
日期:2013-11-05 10:26:09冥斗士
日期:2015-11-17 14:19:55白银圣斗士
日期:2015-11-17 15:13:0815-16赛季CBA联赛之新疆
日期:2016-04-01 09:10:58
2 [报告]
发表于 2014-08-15 11:17 |只看该作者
1. tn是个变量
2. 应当是telnet的套接字连接
3. 没有用过python3,不过b应当是指byte方式访问,应当因为tn是使用二进制方式进行数据的读写,所以需要进行相应的数据格式转化。

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
3 [报告]
发表于 2014-08-15 16:48 |只看该作者
你这个。第一个问题就让人厥倒......

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
4 [报告]
发表于 2014-08-15 20:29 |只看该作者
我也知道是变量,我主要想问,赋值给tn后会发生什么事情?回复 3# Linux_manne


   

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
5 [报告]
发表于 2014-08-16 15:08 |只看该作者
回复 4# wto4883204


     tn是telnetlib 的一个实例化对象
     然后tn 可以调用telnetlib 模块中的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP