`
harry
  • 浏览: 185227 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python Expect模块

阅读更多

Python中有一个pExpect 模块,和TCL中的expect命令差不多,通过expect可以使你的脚本和shell命令之间进行交互。

下面python脚本,使用了expect与ssh和scp交互来完成任务。

 

#!/usr/bin/python

import pexpect
import sys
import time
import os

now = time.strftime("%m%d%y_%I%M%S%p", time.localtime())

if sys.argv[1] == '-c':
    foo = pexpect.spawn('scp -r %s user@address.org:/home/user/' % sys.argv[2])
    foo.expect('.ssword:*')
    foo.sendline('password')
    foo.interact()

elif sys.argv[1] == '-b':
    os.mkdir("/home/user/BKUP/foo.com%s" % now, 0700)
    foo = pexpect.spawn('scp -r user@foo.org:/RemoteBox/user/%s /LocalBox/user/Bup/foo%s/' % (sys.argv[2], TimeStamp))
    foo.expect('.*ssword:')
    foo.sendline('Passwd_to_server')
    foo.interact()
elif sys.argv[1] == '-p':
    foo = pexpect.spawn('ssh foo@bar.com')
    foo.expect('.*')
    foo.sendline('password')
    foo.interact()
else:
    foo = pexpect.spawn('ssh default@default.org')
    foo.expect('.*ssword:')
    foo.sendline('password')
    foo.interact()
分享到:
评论

相关推荐

    Python:pexpect模块下载

    Python的pexpect模块是一个强大的自动化工具,主要用于控制和自动化交互式应用程序,比如telnet、SSH、ftp等。它的工作原理是模拟一个终端会话,能够发送输入、接收输出,并根据预期的输出进行响应,因此得名...

    Python库 | expect.py-0.116.tar.gz

    然后,可以编写Python脚本,利用`expect`模块的API来构建交互流程。例如,创建一个`spawn`对象,设置期望的输出模式,然后调用`send`方法发送输入,`expect`方法等待预期的输出。 总的来说,`expect.py-0.116`为...

    pexpect:一个用于在伪终端中控制交互式程序的Python模块

    Pexpect是一个纯Python类似Expect的模块Pexpect使Python成为控制其他应用程序的更好工具。 Pexpect是用于生成子应用程序的纯Python模块。 控制他们; 并响应其输出中的预期模式。 Pexpect的作品就像Don Libes的...

    20个常用Python运维库和模块

    pexpect可以理解为Linux下expect命令的Python封装,可以实现对ssh、ftp、passwd、telnet等命令行的自动交互。 13. paramiko paramiko基于Python实现SSHv2协议,支持认证及密钥方式。它用于远程命令执行、文件传输、...

    python执行scp命令拷贝文件及文件夹到远程主机的目录方法

    总结来说,Python通过`subprocess`模块和`expect`工具实现SCP命令的执行,提供了在脚本环境中安全、自动化地传输文件到远程主机的功能。这种方式适用于需要在不暴露密码的情况下执行文件传输的场景,如持续集成流程...

    Python pexpect模块及shell脚本except原理解析

    Python的pexpect模块和Shell脚本中的`except`原理解析 Python的pexpect模块是一个强大的工具,用于自动化与交互式应用程序的通信,比如telnet、ftp、passwd、fsck、rlogin、tip、ssh等。它的设计灵感来源于Unix的...

    Python-为该工具提供一个nessus文件它会自动为您提供MSFshell

    此外,Python还有像requests库来处理HTTP请求,paramiko库来实现SSH连接,以及各种自动化工具如expect模块,可以模拟用户输入,与MSFshell进行交互。 在"msf-autoshell-master"这个压缩包中,我们可能找到以下内容...

    使用python的pexpect模块,实现远程免密登录的示例

    下面介绍的代码,是使用python的pexpect模块实现的: 代码 import os import sys import pexpect import datetime #获取昨天的日期 date_yes = (datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y%m...

    python批量巡检操作系统

    4. **数据收集和汇总**:Python可以调用子进程执行Shell命令,通过`subprocess`模块收集命令的输出。收集到的数据随后可能被解析、处理,然后存储到Excel文件中,这通常需要用到`pandas`库,它可以方便地创建和操作...

    pexpect模块

    **Pexpect模块详解** 在Python编程环境中,`pexpect`是一个强大的库,它允许程序控制其他应用程序,特别是那些通过标准输入/输出进行交互的程序。这个模块特别适用于自动化那些需要用户交互的任务,如SSH登录、FTP...

    coderwall-python:用于访问http处的用户数据的Python模块

    编码器墙用于访问用户数据的Python模块,为 安装该模块可在并可以通过pip或easy_install轻松安装: pip install coderwall用法所有功能都可以通过CoderWall类进行访问: >>> from coderwall import CoderWall>>> cwc...

    Python module to Expect lib-开源

    Python模块Expect库是基于Don Libes的开源工具`Expect`的一个Python实现,它为Python程序员提供了一种方便的方式来控制和自动化交互式程序。这个库允许你编写脚本,模拟人类用户与命令行程序、终端仿真器或其他需要...

    Python安装使用命令行交互模块pexpect的基础教程

    一、安装 1、安装easy_install工具 ... python ez_setup.py 安装easy_install工具(这个脚本会自动去官网搜索下载并安装) ...[root@OMS python]# python Python 2.7.3rc1 (default, Nov 7 2012, 15:03:

    python词汇.docx

    - **directory**:指文件夹,在Python中可以通过`os`模块来操作目录,例如创建、删除或列出目录。 - **file**:文件,Python提供了多种方式来处理文件,包括打开、读取、写入等操作,常用的方法如`open()`。 - **...

    linux 下python安装及借助Paramiko进行sftp自动登录

    描述linux 下python3.8.0及paramiko模块的安装。普通的shell脚本要支持ssh自动登录或者 sftp文件自动上传下载,需要lftp、expect等额外的工具辅助。但操作系统有时候未安装lftp和expect,只安装了python。此时,用...

Global site tag (gtag.js) - Google Analytics