我使用rpmfile
,它不是很好。
你能帮我找一个模块吗?
ps:{{1}}模块只能读取.rpm文件
答案 0 :(得分:5)
如果你正在使用Fedora,那么包rpm
中有一个名为rpm-python
的模块,它允许你查询rpm数据库:
import rpm
ts = rpm.TransactionSet()
mi = ts.dbMatch()
for h in mi:
print "%s-%s-%s" % (h['name'], h['version'], h['release'])
这是文档中的一段简单代码。有关详细信息,请参阅here。
答案 1 :(得分:1)
我修改了类似于Marcus Poli发布的代码。这已在CentOS 7.4上使用Python 2.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()))
输出:
binutils-devel-2.27-34.base.el7.x86_64 is installed
binutils-2.27-34.base.el7.x86_64 is installed
答案 2 :(得分:0)
下面的代码也许对某人有用。
import os
f = os.popen('rpm -qa')
arq = f.readlines()
#print("First file=" + arq[0].strip())
for x in arq:
print(x)