#coding=utf-8

'''

Created on 2016822

@author:Tom Gao

'''

importre

importos

importtime

"""

目的写一个批量复制svn上的代码到新分支的脚本

思路把想要copy目标文件人工写到a.txt文件里面,用python的文件操作读出文件内容,然后用正则re.sub替换将路径中test的单词替换位trunk单词,最后执行命令svn copy命令将所有文件拷贝到新目标路径下,再把替换之后的新生成的路径写到新的文件b.txt

"""

withopen('a.txt')as tp:#创建新文件,用于读取数据,把想要更新的svn路径加到里面

list1=[]#这个空列表目的是为了保存把读出来的路径保存到列表里面,然后再全部写入一个新文件里面

all_lines=tp.readlines()#按行读出来

#     print all_lines

time1=time.time()#计算下程序耗时

for i inxrange(len(all_lines)):       url1=all_lines[i].strip('\n')#因为我输入的路径都带换行的,所以此处去掉回车

print"url1: ",url1

printu"分割线格叽格叽"+"="*60

url2=re.sub('test','trunk',url1)#采用正则把路径里面test都换成trunk,你也可以根据自己所需替换,生成一个新svn路径

print"url2: ",url2

url3='svn '+'copy '+url1+' '+url2+' -m '+'\'new\''#拼接svn copy命令,将url1路径下所有内容copy到新路径下面

printurl3

printos.system(url3)#执行url3命令

list1.append(url2+'\n')#以下代码就是为了输出新svn路径到文件里面,方便你复制粘贴结果

withopen('b.txt','w+')as tf:#写入新路径

tf.writelines(list1)

printu"分割线格叽格叽"+"="*60

time2=time.time()

print'spend time %ssec'%(time2-time1)#输出程序耗时

最后为了方便把python文件编译成exe文件用到如下命令,前提要安装py2exe

fromdistutils.core importsetup

importpy2exe

setup(console=["trunk.py"],data_files=['a.txt'])

#trunk.py就是我最上面的python名字,a.txt就是这段程序需要用到的文件一起打包exe,执行如下命令在命令行窗口

python launch.py py2exe

最后会生成两个文件夹dist,build

查找dist下trunk.exe,双击执行,会一闪而过体验不好,这里我们加一个bat命令:

@echo off

echo starting......

trunk.exe

pause

“””

最后总结下知识点,三个部分,os.system,re,time最关键的其实就是调用svn命令行,把图形界面操作通过输入命令行形式执行,具体svn命令行有哪些在这里就不赘述了,除了可以copy还可以export checkout等等

最后送大家一句话,与君共勉

励志改变人生,编程改变命运!!!

“””

欢迎关注光荣之路喜马拉雅电台:http://m.ximalaya.com/weizhubo/44966139

Python 编程实战提高测试工作效率实例之svn 文件管理的更多相关文章

  1. 使用Fiddler提高前端工作效率 (实例篇)

    上篇中,我们对Fiddler Web Debugger有了简单的接触,也许你已经开始在用Fiddler进行HTTP相关的调试,在这一篇,我们将通过一个实例了解Fiddler的神奇魔法. 在我们前端开发 ...

  2. 学Python编程能做什么工作?从事什么岗位?——这些问题你知道吗?

    前言 学Python编程能做什么工作?随着人工智能发展,学习python语言的人员有更多的岗位机会,python从事的职业广泛,从游戏到AI人工智能能都可以用Python实现.除了编程,各种岗位的人都 ...

  3. html样式表极大地提高了工作效率

    样式表极大地提高了工作效率 样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样.样式通常保存在外部的 .css 文件中.通过仅仅编辑一个简单的 CSS 文档 ...

  4. Android 上能提高学习工作效率的应用

    在知乎上有朋友问 Android 上能提高学习.工作效率的应用有哪些?我给他们的推荐获得了最多赞同.以后会不断完善更新此贴. Any.do :规划日程,各平台都有. Evernote:记笔记,各平台都 ...

  5. python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序

    Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...

  6. 利用 Ant 和 Eclipse 有效地提高部署工作效率

    读者定位为具有 Java 和 Ant 使用经验的开发人员. 读者可以学习到如何使用 Ant 解决一些多用户开发环境中,根据不同的目标环境编译成不同部署包的问题. 工作场景 现在有一个 web 项目,是 ...

  7. 【Java】能提高日常工作效率的一些Java函数

    自编工具总是临时抱佛脚来得顺溜,宜常备手边以提高工作效率: package com.hy; import java.io.File; /** * 日常工作常用的一些工具方法 * @author 逆火 ...

  8. Snipaste - 可以提高你工作效率的截图软件

    使用Snipaste提高您的工作效率 Snipaste是一个简单但功能强大的剪切工具,还允许您将屏幕截图固定在屏幕上.下载并启动应用程序,按F1开始剪切,然后按F3将其粘贴为浮动窗口.而已! 您还可以 ...

  9. 使用Fiddler提高前端工作效率 (介绍篇)

    1. Fiddler 是什么? Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让 ...

随机推荐

  1. 获取App的PackageName包名和LauncherActivity启动页

    第一种情况: 查看手机里面已经安装的App: 用数据线连接手机, 打开开发者模式, 并赋予相关权限: 1. 清除日志: adb logcat -c 2. 启动日志: adb logcat Activi ...

  2. unity实现框选效果

    思路: 在uinity中既可以将屏幕坐标转换为世界坐标,也可以将世界坐标转换为屏幕坐标.这样的话我们就可以通过判断物体在世界坐标转换为平幕坐标是否在鼠标框选的矩形区域坐标内,来判断物体是否在框选范围. ...

  3. 局部加权回归(LWR) Matlab模板

    将百度文库上一份局部加权回归的代码,将其改为模板以便复用. q2x,q2y为数据集,是n*1的矩阵: r是波长参数,就是对于距离的惩罚力度: q_x是要拟合的数据横坐标,是1*n的矩阵: 得到的q_y ...

  4. cenos环境变量配置

    Beego环境搭建和bee工具安装使用,以Windows环境为例. 首先,下载并安装好GO并配置好GOROOT和GOPATH环境变量(如果您是用msi包安装的go,那么这些环境变量已经设置好了).并在 ...

  5. vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题

    虚拟机使用的是VMware Workstation,并且首次在虚拟机体验64 位系统.在新建好虚拟机,运行时候就出现了VMware Workstation 的提醒:此主机支持 Intel VT-x,但 ...

  6. Python3 数值类型与运算符

    1.数值类型与进制 (1)基本类型 整型:int 浮点型:float 布尔类型:bool 复数:complex print(type(1)) print(type(1.1)) print(type(F ...

  7. RedHat/CentOS利用iso镜像做本地yum源

    在这里用iso或者光盘做本地yum源的方法是差不多的,只是用光盘的话Linux系统会自动挂载,用iso镜像的或需要手动挂载,这里就说挂载iso的方法吧. (1) 创建iso存放目录和挂载目录 mkdi ...

  8. Python高级编程-多线程

    (一)进程线程概述: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行 ...

  9. nodejs笔记--模块篇(三)

    文件模块访问方式通过require('/文件名.后缀')    require('./文件名.后缀')    requrie('../文件名.后缀') 去访问,文件后缀可以省略:以"/&qu ...

  10. Tic-Tac-Toe

    Description Kim likes to play Tic-Tac-Toe. Given a current state, and now Kim is going to take his n ...