python 實現 自動 svn checkout

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章