有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于处理软件版本的java python模块

我正在寻找一个python模块/库,它将在“软件版本”上运行。。。这意味着,例如:

  • 比较版本“1.0-SNAPSHOT”和“1.1-SNAPSHOT”,并指出哪个版本较新
  • 将“1.0.1-快照”增加到“1.0.2-快照”
  • 将“1.0-SNAPSHOT”改为“1.0”,与“-RELEASE”相同

是的,命名版本来自java(maven)世界——我的python部分应该在它们上运行

有什么想法吗


共 (2) 个答案

  1. # 1 楼答案

    distutils/disutils2包包含一个名为version的模块,它提供了有用的类:

    import distutils
    >>> vs1 = distutils.version.LooseVersion("1.0-SNAPSHOT")
    >>> vs2 = distutils.version.LooseVersion("1.1-SNAPSHOT")
    >>> vs1 < vs2
    True
    

    希望有帮助

  2. # 2 楼答案

    ^{}对此有一些支持

    >>> from distutils.version import LooseVersion  # or StrictVersion
    >>> LooseVersion("1.0-SNAPSHOT") < LooseVersion("1.1-SNAPSHOT")
    True
    >>> v = LooseVersion("1.0.1-SNAPSHOT")
    >>> v.version
    [1, 0, 1, '-SNAPSHOT']
    

    不过,你必须自己做递增和其他操作