包版本处理库

versions的Python项目详细描述


https://badge.fury.io/py/versions.pnghttps://secure.travis-ci.org/pmuller/versions.png?branch=master

文档:versions.rtfd.org

基本用法

版本比较示例:

>>> fromversionsimportVersion>>> v1=Version.parse('1')>>> v2=Version.parse('2')>>> v1==v2False
>>> v1!=v2True
>>> v1>v2False
>>> v1<v2True
>>> v1>=v2False
>>> v1<=v2True

Version.parse需要 Semantic Version 2.0字符串和 返回相应的Version对象:

>>> fromversionsimportVersion>>> v=Version.parse('1.2.0-dev+foo.bar')>>> v.major,v.minor,v.patch,v.prerelease,v.build_metadata(1, 2, 0, 'dev', 'foo.bar')

如果它不是语义版本字符串,解析器会尝试将其规范化:

>>> v=Version.parse('1')>>> v.major,v.minor,v.patch,v.prerelease,v.build_metadata(1, 0, 0, None, None)

版本约束匹配

版本还实现版本约束解析和计算:

>>> fromversionsimportConstraint>>> Constraint.parse('>1').match('2')True
>>> Constraint.parse('<2').match(Version.parse('1'))True

为了一致性,可以使用in运算符测试约束匹配:

>>> '1.5'inConstraint.parse('<2')True
>>> Version(2)inConstraint.parse('!=2')False

可以使用Constraints

合并约束
>>> fromversionsimportConstraints>>> '1.0'inConstraints.parse('>1,<2')False
>>> '1.5'inConstraints.parse('>1,<2')True
>>> '2.0'inConstraints.parse('>1,<2')False
Bitdeli badge

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ApachePOI如何通过java从excel文件中删除空白列?   linux到后台Java服务应用程序的简单发送/接收接口   java ActionBarPullToRefresh什么都没发生   java从millis获取错误的整数天   java相同的代码在两个不同的包上表现不同   java将每个新的char元素写入一个文件(如果被覆盖)   mysql如何在Java中通过外键链接的多个表中插入数据   java环境下mysql网络文件访问   java当使用构建器模式时,为什么我不应该重用builderobject来访问对象配置?   java jQueryServlet post异常失败   java应该使用什么逻辑来创建像《愤怒的小鸟》中那样的锁屏   java Android:在不滑动的情况下更改ViewPager中的片段   java在使用我的程序逻辑时获得空输出