如何使用 python-apt 遍历所有包

如何使用 python-apt 遍历所有包

我想实现一个 python 代码,在 ubuntu 中使用 python-apt 打印所有包。我搜索了相关内容,查看了链接中的 python apt 文档,https://apt.alioth.debian.org/python-apt-doc/

但是我找不到我想要的。你知道如何遍历所有包吗?如果你问我为什么要这样做,那是因为我想遍历所有包。我可以到达包的部分。如果我可以遍历所有包,我将通过查看包的部分来对包进行分组。如你所知,如链接中所示,有超过 50 个包部分,https://packages.debian.org/stable/

我会查看每个包的部分,然后将该包放入某个列表中。例如,如果包的部分是游戏,我会将该包放入游戏列表中,等等。

我如何遍历并打印所有包裹?

提前致谢

答案1

你需要使用apt.cacheapt.package. 调整给出的示例apt.package

#!/usr/bin/env python2

import apt
cache = apt.Cache()
Games = [pkg for pkg in cache if pkg.section.endswith("/games")]
print("\n".join(map(lambda x: x.name, Games[1:10])))

cache类似于字典对象,以包名称(+ 可选的架构标签)作为键。您可以使用该cache.keys()方法获取所有键。

一些示例输出:

funnyboat
berusky2
torcs:i386
glaurung:i386
jigzo-data
balazar3-common
val-and-rick
openyahtzee:i386
mupen64plus-ui-console

相关内容