Datei mit Python ausführen

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.
Antworten
Hugo_s
User
Beiträge: 2
Registriert: Freitag 15. November 2019, 23:58

Guten Abend,

ich habe eine Frage die bestimmt recht simpel ist und einfach zu lösen.
System: Raspberry Pi Zugriff per SSH
Ich habe eine python Datei in der eine Wenn-Funktion erfüllt wird oder nicht. Als Reaktion soll die Datei /home/pi/433Utils/RPi_utils/codesend mit dem Zusatz 5509460 ausgeführt werden. Wie setze ich das um? Mit einem subprocess?

Danke im Voraus
Benutzeravatar
__blackjack__
User
Beiträge: 13007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Hugo_s: Für das ausführen von externen Programmen ist das `subprocess`-Modul da, ja. Im einfachsten Fall einfach die `run()`-Funktion aus dem Modul mit den entsprechenden Argumenten ausführen, also hier so etwas wie

Code: Alles auswählen

#!/usr/bin/env python3
import subprocess


def main():
    ...
    if some_condition:
        subprocess.run(
            ["/home/pi/433Utils/RPi_utils/codesend", "5509460"], check=True
        )
    ...


if __name__ == "__main__":
    main()
Edit: Wobei es im Sinne der Lesbarkeit/Verständlichkeit des Programms Sinn machen würde mindestens den ”magischen” Wert an eine sinnvoll benannte Konstante zu binden und vielleicht auch den Aufruf in eine sinnvoll benannte Funktion zu verpacken.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Hugo_s
User
Beiträge: 2
Registriert: Freitag 15. November 2019, 23:58

Funktioniert super.
Danke dir !
Antworten