zoukankan      html  css  js  c++  java
  • pexpect正确的打开方式

    今天在写一个Python脚本时遇到一个问题——同样的代码,在Python终端执行没问题,在脚本里执行却不行,就是下面这段代码:

    import pexpect
    
    password = 'test2014'
    
    p = pexpect.spawn('scp test.tgz root@192.168.1.200:/home/backup/')
    index = p.expect(['password', 'yes/no'])
    if index == 0:
        p.sendline(password)
    else:
        p.sendline('yes')
        p.expect('password')
        p.sendline(password)

    读者如果不信的话可以对以上代码进行修改测试。

    最后,通过百度,我找到了解决方法——就是在末尾加一行,最终的代码如下:

    import pexpect
    
    password = 'test2014'
    
    p = pexpect.spawn('scp test.tgz root@192.168.1.200:/home/backup/')
    index = p.expect(['password', 'yes/no'])
    if index == 0:
        p.sendline(password)
    else:
        p.sendline('yes')
        p.expect('password')
        p.sendline(password)
    p.read()

    为什么要加这一行才能成功,我还解释不了,有能人能解释的请直接回复本帖,谢谢。

  • 相关阅读:
    join
    runlevel 运行级别
    腾讯一shell试题.
    awk grep sed 的一些问题
    while read line do done < file
    awk 中 RS,ORS,FS,OFS 区别与联系
    节选
    rpm -qa -qc 查询安装过的软件
    css实现两端对齐
    JS表单验证
  • 原文地址:https://www.cnblogs.com/yestreenstars/p/5622437.html
Copyright © 2011-2022 走看看