返回顶部
首页 > 资讯 > 后端开发 > Python >python pexpect 模块
  • 116
分享到

python pexpect 模块

模块pythonpexpect 2023-01-31 06:01:28 116人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

Pexpect 模块 两个主要接口 pexpect.run('ls -la')   child = pexpect.spawn('scp foo myname@host.example.com:.')         child.expec

Pexpect 模块

两个主要接口

pexpect.run('ls -la')

 

child = pexpect.spawn('scp foo myname@host.example.com:.')

        child.expect ('PassWord:')

        ##在这个地方会阻塞,直到出现password或者超时推出

        child.sendline (mypassword)

管道符的特殊处理

 

shell_cmd = 'ls -l | grep LOG > log_list.txt'

               child = pexpect.spawn('/bin/bash', ['-c', shell_cmd])

               child.expect(pexpect.EOF) #等待断开

将log日志重定向到某个文件或者标准输出

fout = open('filename','w+')

child.logfile = fout

child.logfile = sys.stdout

fout.close()

如果是仅仅看child返回的信息,而不看你写给child的信息,那么

child.logfile_read = sys.stdout

写给child的信息则是

child.logfile_send = sys.stdout

 

    try:

        child.sendline('ls -l')

        child.expect(pexpect.EOF)

        #child.prompt()

        print child.before

    except:

expect不断的读入缓冲区内容等待匹配结束,before代表匹配前的内容,即ls的执行结果,after代表匹配之后的内容

child.before child.buffer                   

 

  1. try: 
  2.     index = pexpect (['Good', 'bad']) 
  3.         if index == 0: 
  4.             do_something() 
  5.         elif index == 1: 
  6.             do_something_else() 
  7.     except EOF: 
  8.         do_some_other_thing() 
  9. except TIMEOUT: 
  10.     do_something_completely_different()  

另外在pexpect中,有一个很好用的接口,就是sendcontrol(),比如说sendcontrol('c'),向目标机器发送一个中断符号,主要用在前面的命令执行时间过长,退出当前命令,并使当前命令对后续命令没有影响,比如说expect('~#', 3),此时发生了超时,后续再发送命令,可能那个超时的命令的结果还将输出,就会对当前的结果有影响,发送sendcontrol('c'),则好的多,再expect()一下就ok啦

sendeof(),只能用在开头处,另外对于某些平台是发送ctrl+d命令,所以还是不是很好用

参考文献:
Http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect1/
http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/
 

 

 

 

 

 

--结束END--

本文标题: python pexpect 模块

本文链接: https://lsjlt.com/news/190275.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python pexpect 模块
    Pexpect 模块 两个主要接口 pexpect.run('ls -la')   child = pexpect.spawn('scp foo myname@host.example.com:.')         child.expec...
    99+
    2023-01-31
    模块 python pexpect
  • Python模块之pexpect
    pexpect是一个用来启动子程序并对其进行自动控制的 Python 模块。pexpect 可以用来和像 ssh、passwd、telnet 、rsync等命令行程序进行自动交互下面是我用pexpect写的一个脚本,是用来执行远程主机命令,...
    99+
    2023-01-31
    模块 Python pexpect
  • Python 之 pexpect模块
    python安装setuptools模块之后,便可使用easy_install来安装python的第三方扩展模块,默认安装路径是:/usr/lib/python2.6/site-packages/easy_install 模块名 #可以直接...
    99+
    2023-01-31
    模块 Python pexpect
  • Python模块pexpect安装及使用流程
    目录一、pexpect模块介绍二、Pexpect的安装三、pexpect的核心组件3.1spawn类3.1.1简介3.1.2使用流程3.1.4基本属性和方法3.1.5其他发送信息的方...
    99+
    2024-04-02
  • pexpect模块实现ssh交互命令
    [root@localhost ~]# cat ex_ssh.py #!/usr/local/python3/bin/python3import pexpectdef exec_command(user,host,password): ne...
    99+
    2023-01-31
    模块 命令 pexpect
  • python pexpect
    Python 远程批量修改密码脚本 #tar -zxvf pexpect-3.0.tar.gz #cd pexpect-3.0 #python setup.py install #!/usr/bin/env python #coding:u...
    99+
    2023-01-31
    python pexpect
  • Python安装使用命令行交互模块pexpect的基础教程
    一、安装 1、安装easy_install工具 wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py 安装e...
    99+
    2022-06-04
    命令行 基础教程 模块
  • Python模块:time模块
    time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一...
    99+
    2023-01-31
    模块 Python time
  • python模块:smtplib模块
    1.使用本地的sendmail协议进行邮件发送格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])host:SMTP服务器主机的IP地址或者是域名port:服务的端口号(默...
    99+
    2023-01-31
    模块 python smtplib
  • python,pexpect登录ssh并
    1、 安装python的Pexpect模块 wget http://jaist.dl.sourceforge.net/project/pexpect/pexpect/Release%202.3/pexpect-2.3.tar.gz tar ...
    99+
    2023-01-31
    python pexpect ssh
  • python模块学习----nmap模块
    安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理...
    99+
    2023-01-31
    模块 python nmap
  • 使用Python模块:struct模块
    Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的) 1)bytes、str...
    99+
    2023-01-31
    模块 Python struct
  • python加密模块-hashlib模块
    hashlib模块 用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具...
    99+
    2023-01-31
    模块 python hashlib
  • python与pexpect实现ssh操
    下载并安装pexpect与ptyprocess模块并结合python2.7实现如下操作tar -zxvf pexpect-4.0.1.tar.gz cd pexpect-4.0.1python setup.py installtar -zx...
    99+
    2023-01-31
    python pexpect ssh
  • python之pexpect用法及scp
     import pexpect def scp_cmd():     passwd='*******'     passwd1='*******'     ssh = pexpect.spawn('scp -rp root@192.168....
    99+
    2023-01-31
    python pexpect scp
  • python 模块
    python的模块分为2种:1.标准库(不需要安装,直接导入就可以使用的)2.第三方库(必须要手动安装的)先来介绍2个标准库:sys和os#!/usr/bin/env python# coding: utf-8...
    99+
    2023-01-30
    模块 python
  • Python模块
    初步认识 安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里) 从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)...
    99+
    2023-01-30
    模块 Python
  • python-模块
    一:模块的基本认识: 内置模块 内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用    第三方模块 下载-->安装-->使用 1.找到python所在的根目录-->再找到Scrip...
    99+
    2023-01-31
    模块 python
  • python - 模块
    参考:https://www.cnblogs.com/nulige/p/6166205.html一、模块介绍Python Module(模块),就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。文件...
    99+
    2023-01-31
    模块 python
  • python常见模块之OS模块和time模块
    一、OS模块概述 Python OS模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。 二、常用方法 三、OS模...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作