gpt4 book ai didi

用于检查 rpm 的 Python 是更高版本

转载 作者:行者123 更新时间:2023-11-28 21:40:19 24 4
gpt4 key购买 nike

谁能帮我检查一下 Linux 是否满足 rpm 版本

下面的命令我用来获取包版本。

  rpm -qi libstdc++6 | awk -F': ' '/Version/ {print $2}'

使用子流程,我得到下面的输出

 6.2.1+r239768

现在我想比较 6.2.1+r239768 是否大于 5.1.1

下面是我期望的结果

output = 6.2.1+r239768
print "This rpm version is supported"
output = 6.3+r23
print "This rpm version is supported"
output = 7.1.1+r57678
print "This rpm version is supported"
output = 5.1.1+r23677
print "This rpm version is not supported"
output = 4.1+r56888
print "This rpm version is not supported"

最佳答案

您可以使用您应该已经拥有的 pkg_resources 模块,因为它是 setuptools 的一部分:

In []:
from pkg_resources import parse_version
parse_version('6.2.1+r239768') > parse_version('5.1.1')

Out[]:
True

所以为了得到你的输出:

In []:
versions = ['6.2.1+r239768', '6.3+r23', '7.1.1+r57678', '5.1.1+r23677', '4.1+r56888']
base = parse_version('6.2.1+r239768')
for v in versions:
print("Output = {}".format(v))
print("This rpm version is {}supported".format('not ' if parse_version(v) < base else ''))

Out[]:
Output = 6.2.1+r239768
This rpm version is supported
Output = 6.3+r23
This rpm version is supported
Output = 7.1.1+r57678
This rpm version is supported
Output = 5.1.1+r23677
This rpm version is not supported
Output = 4.1+r56888
This rpm version is not supported

关于用于检查 rpm 的 Python 是更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45771757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com