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 [email protected]:/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 [email protected]:/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 [email protected]')  
  24.     foo.expect('.*')  
  25.     foo.sendline('password')  
  26.     foo.interact()  
  27. else:  
  28.     foo = pexpect.spawn('ssh [email protected]')  
  29.     foo.expect('.*ssword:')  
  30.     foo.sendline('password')  
  31.     foo.interact()  

分享到:

评论

你可能感兴趣的:(pexpect)