当前位置:首页 > python > 正文内容

python获取svn最新版本号

xuwenyan3年前 (2021-02-23)python1007

这个我自己遇到的一个需求,就是在打包软件的时候需要记录一下当前的svn版本号,以方便以后追述每个软件版本对应的程序代码。下面的代码亲测有效,希望可以给你提供思路。

def GetSvnHeadRevision(work_path):
  current_work_path = os.getcwd()
 os.chdir(work_path)

 revision = ''
 try:
   var = os.popen('svn info -r HEAD').read()
  info_list = var.splitlines()
  for str in info_list:
    if str.find('Revision:') >= 0:
     revision = re.findall("\d+", str)
    except:
    a = 1
      
 os.chdir(current_work_path)
 return revision

version = GetSvnHeadRevision(传入源代码根目录)

注意:

1:需要安装svn命令行工具(安装svn默认是不安装命令工具的,需要手动选择安装)

2:需要将svn\bin添加到环境变量,一般默认会添加,自己看一下,没有的话添加即可

    文章作者:xuwenyan
    版权声明:本文为本站原创文章,转载请注明出处,非常感谢,如版权漏申明或您觉得任何有异议的地方欢迎与本站取得联系。

    扫描二维码推送至手机访问。

    版权声明:本文由艺文笔记发布,如需转载请注明出处。

    本文链接:https://www.xuwenyan.com/archives/265

    分享给朋友:
    返回列表

    没有更早的文章了...

    下一篇:python2.x版本中文导致编译失败

    “python获取svn最新版本号” 的相关文章

    python3使用requests通过get和post获取url网页内容

    python3使用requests通过get和post获取url网页内容

    python3如何通过get或post的方式获取url内容?如网页内容。下面使用的是python3.7版本。 我们需要用到的一个库是requests,这个库是python自带的,不需要安装,使用非常方便。 这里随便提一下,如果不知道如何安装python三方模块请参阅:https://w...

    python多进程与多线程分析与使用(三)

    python多进程与多线程分析与使用(三)

    操作系统是可以并行运行多个任务的。比如你一边听歌,一边玩游戏一样。现在的cpu大都是多核的,但即使是过去的单核cpu也是支持多任务并行执行。   单核cpu执行多任务的原理:操作系统交替轮流地执行各个任务。先让任务1,一段时间后切到任务2、任务3...,这样往复地执行下去。由...

    python多进程与多线程分析与使用(四)

    python多进程与多线程分析与使用(四)

    在上一节中,学习了Python多进程编程的一些基本方法:使用跨平台多进程模块multiprocessing提供的Process、Pool、Queue、Lock、Pipe等类,实现子进程创建、进程池(批量创建子进程并管理子进程数量上限)以及进程间通信。这一节学习下Python下的多线程编程方法。一、t...

    python获取命令参数报错index out of range

    python获取命令参数报错index out of range

    python获取命令行参数的方法import sys sys.argv[index] // index is 0 1 2....报错index out of range大多数解决方案都是说你没有传递足够的参数,这是原因之一,但是...

    Python常用方法整理(路径、文件、编码格式等)

    Python常用方法整理(路径、文件、编码格式等)

    获得工作路径import os work_path = os.getcwd()设置工作路径import os os.chdir('d:\\test')获取脚本所在路径import os current_path =&n...

    python自动归类代码文件到vs工程筛选器(.vcxproj.filters)

    python自动归类代码文件到vs工程筛选器(.vcxproj.filters)

    import sys import os def FromLineGetValue(line: str, head: str, tail: str) -> dict:  &n...