炒股配资网站建设公司企业网站开发
news/
2025/9/24 2:09:06/
文章来源:
炒股配资网站建设,公司企业网站开发,南山网站建设深圳信科,安徽建设银行 招聘网站最近要使用python做一个在web上管理交换机的程序#xff0c;需要远程登录#xff0c;就查了点资料#xff0c;由于还没有搞到交换机#xff0c;就先用自己的机器测试一下。 首先python的标准库中包含telnet#xff0c;用起来也很方便#xff0c;查看一下文档写了个小程序…最近要使用python做一个在web上管理交换机的程序需要远程登录就查了点资料由于还没有搞到交换机就先用自己的机器测试一下。 首先python的标准库中包含telnet用起来也很方便查看一下文档写了个小程序 [python] view plaincopy #!/usr/bin/env python #codingutf-8 import telnetlib host 127.0.0.1 userName root password 123456 enter \n t telnetlib.Telnet(host) t.read_until(login: ,1) t.write(userName enter) t.read_until(Password: ,1) t.write(password enter) t.write(lsenter) t.write(exitenter) print t.read_all() 输出结果 [plain] view plaincopy Last login: Wed Nov 2 14:51:36 on console shi-kefumatoiMac:~ root# .CFUserTextEncoding .subversion Library .forward .viminfo nat.sh .sh_history .vimrc noc shi-kefumatoiMac:~ root# logout 程序很简单登录自己的机器执行ls命令然后输出结果。 telnet很好用但是总是有人喜欢更强大更好用的程序于是就有了pexpectpexpect 是 Don Libes 的 Expect 语言的一个 Python 实现是一个用来启动子程序并使用正则表达式对程序输出做出特定响应以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广可以用来实现与 ssh、ftp 、telnet 等程序的自动交互可以用来自动复制软件安装包并在不同机器自动安装还可以用来实现软件测试中与命令行交互的自动化。 看了写资料也用pexpect写了一个小程序实现刚才同样的功能 [python] view plaincopy #!/usr/bin/env python #codingutf-8 import pexpect address 127.0.0.1 userName root password 123456 cmd telnet address prompt [$#] child pexpect.spawn(cmd) index child.expect([login,pexpect.EOF,pexpect.TIMEOUT],timeout1) if index 0: child.sendline(userName) index child.expect(Password,timeout1) child.sendline(password) child.expect(prompt,timeout1) child.sendline(ls) child.expect(ls,timeout1) child.expect(prompt,timeout1) print child.before else: print expect login,but get EOF or TIMEOUT child.close() 输出结果 [plain] view plaincopy .CFUserTextEncoding .subversion Library .forward .viminfo nat.sh .sh_history .vimrc noc shi-kefumatoiMac:~ root 当然这个程序只是pexpect的一个实例程序简单介绍的它的简单用法还不足以说明它t的强大。参考资料 python文档http://docs.python.org/library/telnetlib.html IBM developerWorks http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect1/ http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/转载于:https://www.cnblogs.com/jxrichar/p/3916291.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914562.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!