Cómo recorrer todos los paquetes usando python-apt

Cómo recorrer todos los paquetes usando python-apt

Quiero implementar un código Python que imprima todos los paquetes usando python-apt en Ubuntu. Lo busqué, miré la documentación de Python apt en el enlace,https://apt.alioth.debian.org/python-apt-doc/

Sin embargo no pude encontrar lo que quiero. ¿Sabes cómo recorrer todos los paquetes? Si me preguntas por qué quiero hacerlo, es porque quiero recorrer todos los paquetes. Puedo llegar a la sección de un paquete. Si puedo recorrer todos los paquetes, los agruparé mirando la sección de paquetes. Como sabes, hay más de cincuenta secciones para paquetes como se indica en el enlace,https://packages.debian.org/stable/

Miraré la sección de cada paquete y luego pondré ese paquete en alguna lista. Por ejemplo, si la sección de un paquete es Juegos, colocaré ese paquete en la lista Juegos, etc.

¿Cómo puedo recorrer e imprimir todos los paquetes?

gracias de antemano

Respuesta1

Necesitas usarapt.cacheyapt.package. Adaptando el ejemplo dado paraapt.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])))

cachees como un objeto de diccionario, con nombres de paquetes (+ una etiqueta de arquitectura opcional) como claves. Puedes utilizar el cache.keys()método para obtener todas las claves.

Algunos resultados de ejemplo:

funnyboat
berusky2
torcs:i386
glaurung:i386
jigzo-data
balazar3-common
val-and-rick
openyahtzee:i386
mupen64plus-ui-console

información relacionada