我想實作一個 python 程式碼,在 ubuntu 中使用 python-apt 列印所有套件。我搜索了它,查看了鏈接中的 python apt 文檔,https://apt.alioth.debian.org/python-apt-doc/
然而我找不到我想要的。你知道如何遍歷所有包嗎?如果你問我為什麼要這樣做,那是因為我想遍歷所有套件。我可以到達包裹的部分。如果我可以遍歷所有包,我將透過查看包部分對包進行分組。如您所知,如連結所示,軟體包有五十多個部分,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