python apt_pkg获取单个包的详细信息?

2024-05-16 20:59:35 发布

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

我使用apt_pkg和apt库的组合,从每个包中获取以下详细信息:

package.name
package.installedVersion
package.description
package.homepage
package.priority

我能够通过以下方式获得我所需要的,但我不完全确定这是获得结果的最佳方法:

^{pr2}$

我想找到一个很好的方法来使用apt_pkg/apt来获取每个可能升级/更新候选包的详细信息?在

按照我目前的做法,我只得到系统中已有的软件包的更新/升级,尽管我注意到Debian的更新管理器显示了我系统中没有的软件包。


Tags: 方法namepackage管理器系统方式详细信息apt
1条回答
网友
1楼 · 发布于 2024-05-16 20:59:35

下面的脚本基于你的python代码,可以在我的ubuntu12.04上运行,也可以与任何有python apt 0.8+的系统一起使用

import apt

apt_cache = apt.Cache() #High level

apt_cache.update()
apt_cache.open()

list_pkgs = []

for package_name in apt_cache.keys():
    selected_package = apt_cache[package_name]

    #Verify that the package can be upgraded
    if selected_package.isUpgradable:
        pkg = dict(
            name=selected_package.name,
            version= selected_package.installedVersion,
            desc= selected_package.description,
            homepage= selected_package.homepage,
            severity= selected_package.priority)
        list_pkgs.append(pkg)

print list_pkgs

相关问题 更多 >