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

python获取svn最新版本号

xuwenyan2年前 (2021-02-23)python256

这个我自己遇到的一个需求,就是在打包软件的时候需要记录一下当前的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最新版本号” 的相关文章

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

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

    1、使用多线程可以有效利用CPU资源,线程享有相同的地址空间和内存,这些线程如果同时读写变量,导致互相干扰,就会产生并发问题,为了避免并发问题,绝不能让多个线程读取或写入相同的变量,因此python中使用了全局锁(GIL),此锁只有一个,当某线程执行某个函数时,其他线程不能同时执行,直到锁被释放(...

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

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

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

    Python如何打包成可执行程序exe直接运行?

    Python如何打包成可执行程序exe直接运行?

    Python如何打包成可执行程序exe直接运行? 安装pyinstaller 首先安装pyinstaller,使用安装命令:pip3 install pyinstaller,如下图所示。 Pyinstaller打包exe 1:直接打开cmd到脚本目录下,执行命令:p...

    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参数命令行

    如何获取python参数命令行

    如何获取python的命令行参数,如何解析参数,如下:command_line.pyclass CommandLine(object):     def __init__(self):     &...