“rpm qf<FILE>”与Python rpm库的等价物是什么?

2024-04-29 10:54:46 发布

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

# rpm -qf /usr/lib64/python3.7/site-packages/six.py
python3-six-1.12.0-r0

如何使用Python查询文件属于哪个包


Tags: 文件pypackagesusrsitepython3rpmsix
1条回答
网友
1楼 · 发布于 2024-04-29 10:54:46

我没有发现对rpm数据库的直接调用会返回提供给定文件的包,因此我现在有一个更好的解决方案:

#!/usr/bin/env python3

import rpm

CHECK_FILE = "/usr/lib/python3.9/site-packages/six.py"

ts = rpm.TransactionSet()
mi = ts.dbMatch()
for h in mi:
    files = h['FILENAMES']
    if CHECK_FILE in files:
        print("{}-{}-{}".format(h['name'], h['version'], h['release']))
        break

相关问题 更多 >