zoukankan      html  css  js  c++  java
  • Python pexpect 模块

    Python Expect模块 - Learning Correcting Improving - ITeye技术网站

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

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

    Python代码  收藏代码
    1. #!/usr/bin/python  
    2.   
    3. import pexpect  
    4. import sys  
    5. import time  
    6. import os  
    7.   
    8. now = time.strftime("%m%d%y_%I%M%S%p", time.localtime())  
    9.   
    10. if sys.argv[1] == '-c':  
    11.     foo = pexpect.spawn('scp -r %s user@address.org:/home/user/' % sys.argv[2])  
    12.     foo.expect('.ssword:*')  
    13.     foo.sendline('password')  
    14.     foo.interact()  
    15.   
    16. elif sys.argv[1] == '-b':  
    17.     os.mkdir("/home/user/BKUP/foo.com%s" % now, 0700)  
    18.     foo = pexpect.spawn('scp -r user@foo.org:/RemoteBox/user/%s /LocalBox/user/Bup/foo%s/' % (sys.argv[2], TimeStamp))  
    19.     foo.expect('.*ssword:')  
    20.     foo.sendline('Passwd_to_server')  
    21.     foo.interact()  
    22. elif sys.argv[1] == '-p':  
    23.     foo = pexpect.spawn('ssh foo@bar.com')  
    24.     foo.expect('.*')  
    25.     foo.sendline('password')  
    26.     foo.interact()  
    27. else:  
    28.     foo = pexpect.spawn('ssh default@default.org')  
    29.     foo.expect('.*ssword:')  
    30.     foo.sendline('password')  
    31.     foo.interact()  

    分享到:

    评论

  • 相关阅读:
    python知识点整理一
    Selenium之自动化常遇问题
    git学习
    哈,又是总结内容
    2.3返回IP地址(requests模块安装,get请求发送,loads 解析json到字典)
    2.2返回状态码的分类描述
    2.1JSON数据格式
    1.6file文件
    福利:字符串与字符编码
    1.5list中sort && sorted
  • 原文地址:https://www.cnblogs.com/lexus/p/2355106.html
Copyright © 2011-2022 走看看