如何使用Python获取列表安装的linuxpms?

2024-05-12 05:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我用subprocess.getoutput("rpm -qa").split("\n"),不太好。rpmfile模块只能读取.rpm文件

你能帮我找一个模块吗?在


Tags: 模块文件qasplitsubprocessrpmgetoutputrpmfile
3条回答

也许下面的代码对某人有用。在

import os
f = os.popen('rpm -qa')
arq = f.readlines()
#print("First file=" + arq[0].strip())
for x in arq:
    print(x) 

我修改了类似于马库斯波利发布的代码。这是在CentOS 7.4上使用Python2.7和3.6进行测试的。我最初的问题是How do I check if an rpm package is installed using Python?

import os
rpm = 'binutils'
f = os.popen('rpm -qa')
arq = f.readlines()
for r in arq:
   if rpm in r:
      print("{} is installed".format(r.rstrip()))

输出:

^{pr2}$

如果您使用的是Fedora,那么包rpm-python中有一个名为rpm的模块,它允许您查询rpm数据库:

import rpm

ts = rpm.TransactionSet()
mi = ts.dbMatch()
for h in mi:
    print "%s-%s-%s" % (h['name'], h['version'], h['release'])

这是文档中的一段简单代码。有关详细信息,请参见here。在

相关问题 更多 >