Как обойти все пакеты с помощью python-apt

Как обойти все пакеты с помощью python-apt

я хочу реализовать код python, который выводит все пакеты с помощью python-apt в ubuntu. Я искал об этом, посмотрел документацию 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

Связанный контент