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.cache
yapt.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])))
cache
es 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