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

分享到:

評論


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM