python 实现 自动 svn che

发布时间:2019-09-15 09:57:05编辑:auto阅读(1871)

    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


关键字