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()  

    分享到:

    评论

  • 相关阅读:
    css兼容性大坑
    JS获取元素CSS值
    calendar的一些操作
    java日期工具类
    redis的一些操作
    webstorm ES6 转 ES5
    基于时间的动画算法
    3434
    MySQL登陆知识
    MySQL密码知识点
  • 原文地址:https://www.cnblogs.com/lexus/p/2355106.html
Copyright © 2011-2022 走看看