dluuy 发表于 2015-9-23 10:02:31

python 实现 自动 svn checkout

pyhton 利用 pexpect 模块实现 svn chekout

一,安装 pexpect

1
pip install pexpect




二,python 脚本实现


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/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



页: [1]
查看完整版本: python 实现 自动 svn checkout