Как пройти через все пакеты, используя 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
Другие вопросы по тегам