Python Expect模块 [复制链接] xieaotian 电梯直达 1# 发表于 6 天前 | 只看该作者 Python中有一个pExpect 模块,和TCL中的expect命令差不多,通过expect可以使你的脚本和shell命令之间进行交互。 下面python脚本,使用了expect与ssh和scp交互来完成任务。 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() 复制代码