我想实现一个 python 代码,在 ubuntu 中使用 python-apt 打印所有包。我搜索了相关内容,查看了链接中的 python apt 文档,https://apt.alioth.debian.org/python-apt-doc/
但是我找不到我想要的。你知道如何遍历所有包吗?如果你问我为什么要这样做,那是因为我想遍历所有包。我可以到达包的部分。如果我可以遍历所有包,我将通过查看包的部分来对包进行分组。如你所知,如链接中所示,有超过 50 个包部分,https://packages.debian.org/stable/
我会查看每个包的部分,然后将该包放入某个列表中。例如,如果包的部分是游戏,我会将该包放入游戏列表中,等等。
我如何遍历并打印所有包裹?
提前致谢
答案1
你需要使用apt.cache
和apt.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