项目采用增量更新,每次更新需要将提交到svn的代码手动一一拖到本地文件夹再拖到服务器上,非常麻烦。正好学习python,就弄了个批量复制脚本,顺便熟悉下Python语法。第一次写,很多方法不熟,写的比较慢。在亚马逊的EC2上Django搭好了,接下来要慢慢学习python的一些框架,每天进步一点点。

从SVNcopy出来的路径格式如下:

/jcs/src/main/java/com/cs/core/modules/sys/dao/UserDao.java

/jcs/src/main/java/com/cs/core/modules/sys/web/LoginController.java

/jcs/src/main/webapp/WEB-INF/views/modules/jike/product/productManager/marketActivityEdit.jsp

/jcs/src/main/webapp/WEB-INF/views/modules/jike/product/productManager/projectCaseEdit.jsp

/jcs/src/main/webapp/WEB-INF/views/modules/jike/product/productManager/marketActivityAdd.jsp

/jcs/src/main/webapp/WEB-INF/views/modules/jike/product/productManager/projectCaseAdd.jsp

/jcs/src/main/resources/mappings/modules/jike/customerVisit/ScoreComDetailDao.xml

/jcs/src/main/java/com/ailk/jike/modules/customerVisit/entity/AppealDetailSheet3.java

/jcs/src/main/java/com/ailk/jike/modules/customerVisit/entity/AppealDetailSheet4.java

/jcs/src/main/resources/mappings/modules/jike/customerVisit/TdMLeaveInfoDao.xml

/jcs/src/main/resources/mappings/modules/jike/customerVisit/BusiTransferDetailDao.xml

/jcs/src/main/resources/mappings/modules/jike/customerVisit/VisitRecordDetailDao.xml

代码如下:

# coding=gbk

#!/usr/bin/env python3

import os,sys

import os.path

import shutil

#读取svn提交路径

def read_path(data):

f = open(data,'r')

try:

file_object = f.read( )

return file_object

except IOError:

file_object="file is not exist"

finally:

f.close( )

#不同格式分开,param为后缀格式

def array_splie(data,param,frompath,name):

s=[]

for i in enumerate(data):

if param in i[1]:

if param=='.java':

replace=i[1].replace("/"+name+"/src/main/java",frompath+"/WEB-INF/classes")

replaceclass=replace.replace(".java",".class")

s.append(replaceclass)

if param=='.xml':

replace=i[1].replace("/"+name+"/src/main/resources",frompath+"/WEB-INF/classes")

s.append(replace)

if param=='.jsp':

replace=i[1].replace("/"+name+"/src/main/webapp",frompath)

s.append(replace)

return s

#复制文件

def copy_file(patharray,frompath,targetpath,param):

for i in enumerate(patharray):

targetrealpath=i[1].replace(frompath,targetpath)

isExists = os.path.exists(os.path.dirname(targetrealpath))

if not isExists:

os.makedirs(os.path.dirname(targetrealpath))

shutil.copy(i[1],targetrealpath)

print(targetrealpath)

# 调用函数

name='jcs'#项目名称

frompath="E:/workspace/jcs/target/jcs"#来源

targetpath="E:/python/jcs"#目标路径

pathreaded=read_path("E:/python/workspace/new3.txt")#svn提交路径

patereadedarray=pathreaded.split('\n')

javapath=array_splie(patereadedarray,'.java',frompath,name)#解析路径

xmlpath=array_splie(patereadedarray,'.xml',frompath,name)

jsppath=array_splie(patereadedarray,'.jsp',frompath,name)

copy_file(javapath,frompath,targetpath,'.java')#复制

copy_file(xmlpath,frompath,targetpath,'.xml')

copy_file(jsppath,frompath,targetpath,'.jsp')

python 魔兽世界升级脚本_第一次用python:python脚本用来实现增量更新项目代码...相关推荐

  1. python调用ping命令_我可以创建一个脚本来测试是否可以在python服务器上远程使用SSH和PING命令吗? - python...

    我可以创建脚本来测试是否可以在python中远程使用服务器上的SSH和PING命令吗? 参考方案 好的,这是Python3和Linux的示例.只需记住,您的目标主机/服务器必须正在运行SSH服务器才能 ...

  2. jmeter脚本_性能工具之Jmeter脚本python启动

    背景 上一节是shell命令启动Jmeter,担心大家对shell脚本语法不是很熟悉,如果定制自己想要的恐怕不好弄,这次改用python启动脚本,在改造之前大家先了解下Jmeter线程组相关参数,这样 ...

  3. go调用python脚本_谁能取代Python?我使用Go来部署机器学习模型的原因

    全文共1881字,预计学习时长7分钟 图源:unsplash 毋庸置疑,Python是如今最受欢迎的机器学习语言.虽然机器学习框架使用CUDA C / C ++之类的语言进行实际运算,但它们都提供了P ...

  4. 用python实现ai围棋_围棋AI.Leela+Python脚本分析棋谱

    完成了Sabaki+LeelaSabaki+Leela GTP搭建完美围棋AI平台后,在"飞扬围棋论坛"看到有棋友介绍用Leela+Python脚本分析棋谱,于是也试了一下. 软件 ...

  5. 用python刷微信阅读_老司机用python脚本刷微信读书的时长

    微信读书有一个鼓励机制, 一周阅读5小时可兑换10书币,每周日晚清空一周的总读书时长,没兑换的时长不计入下一周(1书币 == 1块钱) 作为一个经常加班的程序猿, 一周刷5个小时, 有点困难, 所以只 ...

  6. python制作浏览器插件_分享一个火车浏览器脚本插件python中文分词

    最近在采集一批信息,发现火车浏览器的自带分词插件,分词效果不是很理想,在网上找了一个API分词接口:pullword 其实对于火车浏览器脚本插件用PHP和python都可以写,之前做了一个PHP分词插 ...

  7. java执行python脚本_通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

  8. python自动化数据报告_如何:使用Python将实时数据自动化到您的网站

    python自动化数据报告 This tutorial will be helpful for people who have a website that hosts live data on a ...

  9. python 乱码转码_数据库乱码问题 Python 编码问题(Unicode 的 encode、decode 相互转换 )...

    前言: 今天有个项目需要合并(A合并到B),我所做的就是数据库的合并操作,其中出现的主要问题就是乱码的问题.乱码这个问题是很常见的问题,今天整理了下自己所理解的一点见解. 案例: NAME COMPA ...

最新文章

  1. vector int string 化
  2. 李彦宏千字愿景内部信:10次提到“用户”
  3. 上交所行情文件导入数据库
  4. SQL 判断非空 NULL :IFNUL( ) 、COALESCE( ) 、ISNULL( ) 、NVL( )
  5. Codewars-(RegEx去除html标签)
  6. 浏览器解析html全过程详解
  7. 数字电路技术可能出现的简答题_2013年9月份考试数字电子技术第二次作业
  8. 毕设日志——linux服务器anaconda下安装caffe
  9. .net下samus Mongo-Cshap 引擎中的find原生查询
  10. MyBatis 简介
  11. 研发做好了,产品不一定能卖掉;研发做不好,没东西可卖
  12. VS code open in browser无法打开chrome浏览器的解决办法
  13. ie8 升级页面html,ie7浏览器怎么升级到ie8?
  14. 分享微云普通用户不限速下载方法
  15. 贝茜放慢脚步(寒假每日一题 14)
  16. 基于安卓Android和SSH的汽车票管理系统设计与实现
  17. echarts绘制函数曲线
  18. flash3D引擎对比分析
  19. 数据结构实验二:7-2 两个有序链表序列的合并
  20. 【11年华科计算机考研经验】追梦华中大-我的漫漫考研路

热门文章

  1. 产品读书《思考,快与慢》
  2. 大地水准面、大地基准面
  3. 百胜中国西南供应链支持中心落户成都崇州
  4. 如何评价做事能力,如何提升做事能力?
  5. 通过U盘修改电脑开机密码,不会清除数据。
  6. MySQL实战中,Insert语句的使用心得总结,差点挂在了美团三面
  7. 死亡空间2显卡测试软件,恐怖窒息体验 中低端显卡闯荡《死亡空间2》(4)
  8. JavaWeb阶段案例--简易版管理图书系统(增删改查)
  9. element ui form循环嵌套表单 及嵌套表单的验证方法(校验)
  10. Git基础之(四)——时光穿梭机——版本回退