Como percorrer todos os pacotes usando o python-apt

0

Eu quero implementar um código python que imprima todos os pacotes usando o python-apt no Ubuntu. Pesquisei sobre isso, consultei a documentação do python apt no link, link

No entanto, não consegui encontrar o que quero. Você sabe atravessar todos os pacotes? Se você me perguntar por que eu quero fazer isso, é porque eu quero atravessar todos os pacotes. Eu posso alcançar a seção de um pacote. Se eu puder percorrer todos os pacotes, vou agrupar os pacotes procurando a seção de pacotes. Como você sabe, existem mais de cinquenta seções para pacotes, conforme indicado no link

Eu vou olhar a seção de cada pacote, então eu coloco esse pacote em alguma lista. Por exemplo, se a seção de um pacote for Jogos, eu colocarei esse pacote na lista Jogos, etc.

Como posso atravessar e imprimir todos os pacotes?

Obrigado antecipadamente

    
por metis 04.04.2015 / 03:20

1 resposta

0

Você precisa usar apt.cache e apt.package . Adaptar o exemplo dado para 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 é como um objeto de dicionário, com nomes de pacotes (+ um rótulo de arquitetura opcional) como as chaves. Você usa o método cache.keys() para obter todas as chaves.

Algum exemplo de saída:

funnyboat
berusky2
torcs:i386
glaurung:i386
jigzo-data
balazar3-common
val-and-rick
openyahtzee:i386
mupen64plus-ui-console
    
por muru 04.04.2015 / 04:49