LINUX.ORG.RU

История изменений

Исправление lucentcode, (текущая версия) :

Вот пример, выводящий все установленные пакеты.

#!/usr/bin/python
"""Print all installed packages"""

import apt_pkg


def main():
    """Main."""
    apt_pkg.init_config()
    apt_pkg.init_system()
    cache = apt_pkg.Cache()
    print "All installed packages:"
    for pkg in cache.packages:
        if pkg.current_state == apt_pkg.CURSTATE_INSTALLED:
            print " ", pkg.name

if __name__ == "__main__":
    main()

В общем, вы можете получить apt_pkg.Cache в переменную cache, и затем проверить установлен ли пакет так:

pkg = cache[name_of_our_package] if pkg.current_state == apt_pkg.CURSTATE_INSTALLED: print «Yes, package {0} was installed».format(pkg.name) Установите документацию к python-apt, и всё станет понятно. В документации есть более простой способ, основанный на использовании высокоуровневого apt.Cache, но он у меня не работает. Да, отлавливайте различные состояния CURSTATE(потом, что иногда пакет может быть установлен, но неправильно сконфигурирован, и т.п.) Успехов в творчестве:)

Исходная версия lucentcode, :

Вот пример, выводящий все установленные пакеты.

#!/usr/bin/python
"""Print all installed packages"""

import apt_pkg


def main():
    """Main."""
    apt_pkg.init_config()
    apt_pkg.init_system()
    cache = apt_pkg.Cache()
    print "Essential packages:"
    for pkg in cache.packages:
        if pkg.current_state == apt_pkg.CURSTATE_INSTALLED:
            print " ", pkg.name

if __name__ == "__main__":
    main()

В общем, вы можете получить apt_pkg.Cache в переменную cache, и затем проверить установлен ли пакет так:

pkg = cache[name_of_our_package] if pkg.current_state == apt_pkg.CURSTATE_INSTALLED: print «Yes, package {0} was installed».format(pkg.name) Установите документацию к python-apt, и всё станет понятно. В документации есть более простой способ, основанный на использовании высокоуровневого apt.Cache, но он у меня не работает. Успехов в творчестве:)