läuft auf Ubuntu 16.04 mit Python 2.7.12. Ich würde gerne überprüfen, ob die Liste der Programme auf dem Rechner installiert ist. Bisher habe ich diese nicht funktioniert Stück Code:prüfen, ob Programm von der Programmliste installiert ist
import subprocess
program = ['rsync', 'locate']
for x in program:
cmd = "dpkg-query -W " + x + " | grep -c " + x
process = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
output, error = process.communicate()
ich diesen Befehl ausführen kann, wenn ich mit dem Programm als String-Variable nicht:
exists = subprocess.call("dpkg-query -W rsync | grep -c 'rsync'", shell=True)
und es gibt 0/1 . Können Sie mir helfen, eine Schleife zu erstellen, die zurückkehrt, wenn das Programm installiert ist oder nicht? Möglicherweise in 5 oder so Linien, alles, was ich brauche, ist einfach Wahr/Falsch (0/1). Danke
Ja, ich habe apt vorher benutzt, aber ich finde es etwas zu langsam, es dauert ein paar Sekunden, um apt.cache zu bekommen. Daher möchte ich vermeiden, apt-Modul zu verwenden. Und noch etwas, apt Modul ist nicht standardmäßig installiert, zumindest nicht in Ubuntu, also müsste ich es installieren, bevor ich es benutze. Ich möchte es so einfach und schnell wie möglich machen. Danke für den Vorschlag, obwohl –