pyhton 利用 pexpect 模塊實現 svn chekout
一,安裝 pexpect
pip install pexpect
二,python 腳本實現
#!/usr/bin/env python # -*- coding: utf-8 -*- import pexpect username = 'admin' password = 'passwd' svnurl = 'http://mysvnurl.com/svnproject' if __name__ == '__main__': svn_link = 'svn co --username=admin ' + svnurl + ' .' # '.'checkout 在當前目錄 child = pexpect.spawn(svn_link) child.expect('Password for \'admin\':', timeout=None) #如果子程序沒有在指定的時間內生成任何 output,那麼 expect() 和 read() 都會產生 TIMEOUT 異常。 #超時默認是 30s,可以在 expect() 和 spawn 構造函數初始化時指定爲其它時間,如: #child.expect('password:', timeout=120) # 等待 120s #如果你想讓 expect() 和 read() 忽略超時限制,即無限期阻塞住直到有 output 產生,設置 timeout 參數爲 None。 child.sendline(password+'\n') child.expect('Store password unencrypted (yes/no)?') child.sendline('yes\n') pass