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