Я хочу реализовать код Python, который печатает все пакеты, используя python-apt в Ubuntu. Я искал об этом, посмотрел документацию по python apt по ссылке, https://apt.alioth.debian.org/python-apt-doc/
Однако я не смог найти что я хочу. Вы знаете, как пройти все пакеты? Если вы спросите меня, почему я хочу это сделать, это потому, что я хочу пройти через все пакеты. Я могу добраться до раздела пакета. Если я могу пройти через все пакеты, я сгруппирую пакеты, посмотрев раздел пакетов. Как вы знаете, существует более пятидесяти разделов для пакетов, как указано в ссылке: https://packages.debian.org/stable/
Я посмотрю раздел каждого пакета, затем я положил этот пакет в какой-то список. Например, если раздел пакета «Игры», я добавлю этот пакет в список «Игры» и т. Д.
Как я могу пройти и распечатать все пакеты?
Спасибо заранее
Необходимо использовать 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