python-aptを使用してすべてのパッケージを走査する方法

python-aptを使用してすべてのパッケージを走査する方法

Ubuntuでpython-aptを使用してすべてのパッケージを出力するpythonコードを実装したいです。それについて検索し、リンクのpython aptドキュメントを見ました。Python のドキュメント

しかし、欲しいものが見つかりませんでした。すべてのパッケージをトラバースする方法をご存知ですか? なぜそうしたいのかと聞かれたら、それはすべてのパッケージをトラバースしたいからです。パッケージのセクションにアクセスできます。すべてのパッケージをトラバースできる場合は、パッケージのセクションを見てパッケージをグループ化します。ご存知のとおり、リンクに示されているように、パッケージには50を超えるセクションがあります。https://packages.debian.org/stable/

各パッケージのセクションを確認し、そのパッケージを何らかのリストに入れます。たとえば、パッケージのセクションが Games の場合、そのパッケージを Games リストに入れます。

すべてのパッケージを走査して印刷するにはどうすればいいですか?

前もって感謝します

答え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

関連情報