Überprüfen ob Anwendung vorhanden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Alles klar! Vielen Dank für die Infos!
Mein Code sieht nun so aus, unter der Annahme das beim Programmaufruf keine Seiteneffekte enstehen:

Code: Alles auswählen

def programme_available(programme_name):
    process = None
    
    try:
        process = subprocess.Popen(programme_name)
    except OSError as why:
        if why.errno == errno.ENOENT:
            return False

    if process is not None:
       process.wait()

    return True
Grüße,
anogayales
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Mein Vorschlag:

Code: Alles auswählen

def have_program(name):
    try:
        subprocess.call(name)
        return True
    except OSError as error:
        if not error.errno == errno.ENOENT:
            raise error
        return False
Wobei man natürlich die Ausgabeströme sicher ins Nirvana leiten möchte.
Antworten