如何使用 python-apt 遍歷所有套件

如何使用 python-apt 遍歷所有套件

我想實作一個 python 程式碼,在 ubuntu 中使用 python-apt 列印所有套件。我搜索了它,查看了鏈接中的 python apt 文檔,https://apt.alioth.debian.org/python-apt-doc/

然而我找不到我想要的。你知道如何遍歷所有包嗎?如果你問我為什麼要這樣做,那是因為我想遍歷所有套件。我可以到達包裹的部分。如果我可以遍歷所有包,我將透過查看包部分對包進行分組。如您所知,如連結所示,軟體包有五十多個部分,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

相關內容