我正在走一个包含鸡蛋的目录,将这些鸡蛋添加到鸡蛋中sys.path.如果目录中有相同.egg的两个版本,我想只添加最新版本.
我有一个正则表达式r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$从文件名中提取名称和版本.问题是比较版本号,这是一个字符串2.3.1.
因为我正在比较字符串,2种类型超过10,但这对于版本来说不正确.
>>> "2.3.1" > "10.1.1"
True
Run Code Online (Sandbox Code Playgroud)
我可以做一些拆分,解析,转换为int等,我最终会得到一个解决方法.但这是Python,而不是Java.有比较版本字符串的优雅方法吗?
我正在使用jinja2模板来安装/升级包.
逻辑是为当前安装的版本设置变量,并将其与可用版本进行比较.它工作正常,但一旦我们传入10.x,比较退出工作.
是否可以转换变量,以便正确识别10.9.8是否大于9.8.7?
谢谢
current_version=['9.8.7']
{% if current_version < '10.9.8' %}