python-apt를 사용하여 모든 패키지를 탐색하는 방법

python-apt를 사용하여 모든 패키지를 탐색하는 방법

우분투에서 python-apt를 사용하여 모든 패키지를 인쇄하는 Python 코드를 구현하고 싶습니다. 나는 그것에 대해 검색하고 링크에서 python apt 문서를 보았습니다.https://apt.alioth.debian.org/python-apt-doc/

그러나 나는 내가 원하는 것을 찾을 수 없었다. 모든 패키지를 탐색하는 방법을 알고 있나요? 왜 하고 싶은지 묻는다면 모든 패키지를 순회하고 싶기 때문입니다. 패키지 섹션에 접근할 수 있습니다. 모든 패키지를 탐색할 수 있으면 패키지 섹션을 확인하여 패키지를 그룹화합니다. 아시다시피, 링크에 표시된 대로 패키지에 대한 섹션이 50개 이상 있습니다.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

관련 정보