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