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

python pexpect

pythonpexpect 2023-01-31 02:01:11 406人浏览 薄情痞子

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

摘要

python 远程批量修改密码脚本 #tar -zxvf pexpect-3.0.tar.gz #cd pexpect-3.0 #Python setup.py install #!/usr/bin/env python #coding:u

python 远程批量修改密码脚本
#tar -zxvf pexpect-3.0.tar.gz
#cd pexpect-3.0
#Python setup.py install
#!/usr/bin/env python
#coding:utf8
import pexpect                            
import sys 
iplist = ['192.168.140.142','192.168.140.145'] ##定义主机列表
oldpasswd = '234567' ##旧密码
newpasswd = '1234567' ##新密码
while iplist:
    ip = iplist[-1] ##获取一个IP
    iplist.pop() ##列表去掉一个值
    child = pexpect.spawn('ssh root@'+ip) ##定义触发
    fout = file('passlog.txt','a') ##定义日志文件,
    child.logfile = fout
    try:
        while True:
            index = child.expect(['(yes/no)','(?i)passWord:'])
            if index == 0:
                child.sendline('yes')
            elif index == 1:
                child.sendline(oldpasswd)
                child.expect('#')
                child.sendline('echo  '+newpasswd+' | passwd --stdin root')
                child.expect('#')
                child.sendline('exit')
    except pexpect.TIMEOUT:
        print >>sys.stderr, ip+' timeout'
    except pexpect.EOF:
        print >>sys.stderr, ip+' <the end>'
(1)spawn类
 class pexpect.spawn(command,args=[],timeout=30,maxread=2000,searchwidowsize=None
,logfile=None,cwd=None,env=None,ignore_sighup=True)
(2)run函数
pexpect.run(command,timeout=-1,withexitstatus=False,events=None,extra_args=None,
logfile=None,cwd=None,env=None).
(3)pxssh类
class pexpect.pxssh.pxssh(timeout=30,maxread=2000,searchwidowsize=None,logfile=None,
cwd=None,env=None)
pxssh常用的三个方法:
    login()建立连接;
    loGout()断开连接;
    prompt()等待系统提示符,用于等待命令执行结束
#!/usr/bin/python# encoding=utf-8# Filename: pexpect_test.pyimport pexpectdef sshCmd(ip, passwd, cmd):
    ret = -1
    ssh = pexpect.spawn('ssh root@%s "%s"' % (ip, cmd))    try:
        i = ssh.expect(['password:', 'continue connecting(yes/no)?'], timeout=5)        if i == 0:
            ssh.sendline(passwd)        elif i == 1:
            ssh.sendline('yes\n')
            ssh.expect('password:')
            ssh.sendline(passwd)
        ssh.sendline(cmd)
        r = ssh.read()        print r
        ret = 0
    except pexpect.EOF:        print "EOF"
        ret = -1
    except pexpect.TIMEOUT:        print "TIMEOUT"
        ret = -2
    finally:
        ssh.close()    return ret

sshCmd('xxx.xxx.xxx.xxx','xxxxxx','ls /root')


--结束END--

本文标题: python pexpect

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

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

猜你喜欢
  • 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 模块
    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登录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与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 利用pexpect进行多机
    在安装之前,确认你的机器安装了python,和easy_install.通常python是自动安装的,如果没有安装easy_install,那么wget -q http://peak.telecommunity.com/dist/ez_se...
    99+
    2023-01-31
    多机 python pexpect
  • python之pexpect实现自动交互
    Pexpect 是 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广,可以用来实现与 ssh、ftp ...
    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
  • python中Pexpect的工作流程是什么
    这期内容当中小编将会给大家带来有关python中Pexpect的工作流程是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-14
  • python中Pexpect工作流程的示例分析
    这篇文章主要为大家展示了python中Pexpect工作流程的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“python中Pexpect工作流程的示例分析”这篇文章吧。python是什么意...
    99+
    2023-06-06
  • 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的基础教程
    一、安装 1、安装easy_install工具 wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py 安装e...
    99+
    2022-06-04
    命令行 基础教程 模块
  • Python: kafka-python
    背景 我们有个数据处理平台,有两个用 docker 运行的数据处理模块,分别是:data_api, 和 processor_api,故名思义: data_api: 接受数据; processor_api: 处理数据; 数据处理简单...
    99+
    2023-01-31
    Python kafka python
  • [Python]linux python
     #!/usr/bin/env python与#!/usr/bin/python的区别 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单   #!/usr/bin/python是告诉操作系统执行...
    99+
    2023-01-31
    Python linux python
  • [Python] python-docx
    [目的] 使用Python编辑Micorsoft Word 文档 [测试环境]         OS: MS XP professional SP3 Win32         Python:2.6.6 [准备]       ...
    99+
    2023-01-31
    Python python docx
  • python-初识python
     一.计算机的初步认识     硬件:内存,主板,CPU,硬盘,显卡,显示器等   内存:     优点:存取速度快     缺点:断电后数据会全部丢失   硬盘:     优点:断电后数据也会永久保存     缺点:存取速度远远慢于内...
    99+
    2023-01-31
    python
  • python------用python写
    这样一个小游戏,我们用shell也是可以完成的,但是这里我们主要是练习python!具体的要求及shell的写法http://zidingyi.blog.51cto.com/10735263/1767566!#!/usr/bin/env p...
    99+
    2023-01-31
    python
  • Python之——python-nmap
    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78995578 一、python-nmap安装 # yum -y install nmap #安装nmap工具 # ...
    99+
    2023-01-31
    Python python nmap
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作