小编Ada*_*dam的帖子

我如何比较python中的Rpm版本

我试图找出如何比较2个RPMS列表(当前已安装)和(在本地存储库中可用)并查看哪个RPMS已过期.我一直在修补正则表达式,但RPMS有很多不同的命名标准,我无法获得一个好的列表.我的驱动器上没有实际的RPMS,所以我不能做rpm -qif.

pattern1 = re.compile(r'^([a-zA-Z0-9_\-\+]*)-([a-zA-Z0-9_\.]*)-([a-zA-Z0-9_\.]*)\.(.*)')
for rpm in listOfRpms:
     packageInfo = pattern1.search(rpm[0]).groups()
     print packageInfo
Run Code Online (Sandbox Code Playgroud)

这适用于绝大多数但不是全部(2300/2400)

  yum-metadata-parser-1.1.2-2.el5
('yum-metadata-parser', '1.1.2', '2', 'el5') **What I need
Run Code Online (Sandbox Code Playgroud)

但是,除非我打破其他之前工作的其他人,否则这些都不起作用.

  • wvdial的-1.54.0-3
  • xdelta-1.1.3-20
  • xdelta-1.1.3-20_2
  • xmlsec1-1.2.6-3
  • xmlsec1-1.2.6-3_2
  • 则ypbind-1.17.2-13
  • 则ypbind-1.17.2-8
  • ypserv的-2.13-14
  • 拉链2.3-27
  • zlib的-1.2.3-3
  • zlib的-1.2.3-3_2
  • zsh的-4.2.6-1

python regex rpm

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1

regex ×1

rpm ×1