Для создания шаблонного итератора используется метод dbMatch экземпляра сета транзакции. Подобно C API шаблонный итератор позволяет программе перебирать пакеты, которые соответствуют шаблону по заданному критерию.
Вызов dbMatch без параметров означает, что будут перебираться все установленные пакеты. Базовый синтаксис:
import rpm |
В этом примере вызов dbMatch возвращает шаблонный итератор. Цикл for обходит весь итератор, возвращая один объект хэдера за раз.
Кроме данного синтаксиса можно вызывать метод next для получения следующего объекта хэдера. Например:
import rpm |
Прямой вызов метода next в будущих версиях Python API поддерживаться не будет.
Следующий листинг показывает пример скрипта на Python (rpmqa.py), который выводит имя, версию и релиз для всех установленных пакетов.
#!/usr/bin/python |
При вызове скрипта мы увидим примерно следующий вывод (часть вывода убрана ради экономии места):
$ python rpmqa.py |
Если на скрипт установлены права выполнения, можно избежать вызова интерпретатора вместе с именем скрипта:
$ ./rpmqa.py |