loops in txt-py / schleifen mit txt-py

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Benutzeravatar
Die Chr0m
Beiträge: 5
Registriert: 27 Mär 2023, 17:57
Wohnort: Berlin

loops in txt-py / schleifen mit txt-py

Beitrag von Die Chr0m » 27 Mär 2023, 20:05

Hallo,
ich benutze die txt-cummunity software und programmiere den TXT mit python. Ich brauche eine Schleife (while True) die sobald das Programm auf dem TXT aufgrufen wird startet und erst stoppt, sobald das Programm beendet wird. Jedoch habe ich in der spärlichen Dokumentation dazu gar nichts gefunden.

mit freundlichen Grüßen:
-- Dominik

tintenfisch
Beiträge: 472
Registriert: 03 Jan 2018, 22:04

Re: loops in txt-py / schleifen mit txt-py

Beitrag von tintenfisch » 28 Mär 2023, 15:45

Hallo Dominik,

einen "Autostart" für Python-Scripts bietet TX-Pi nicht, da müßtest Du Dir auf der Ebene des Betriebssystems selber eine Lösung implementieren.
Das könnte ein systemd-Service sein, oder auch Cron

Code: Alles auswählen

@reboot /hier/der/pfad/zum/script.py
Vergiss nicht, das Script ausführbar zu machen (chmod +x) und eine Shebang-Zeile an den Anfang des Scriptes zu stellen:

#!/usr/bin/env python3

Ich kenne Dein Hintergrundwissen nicht, darum auch noch der Hinweis, dass am Ende des Scripts dann eine Überprüfung stattfinden sollte, ob das Script ausgeführt (und nicht etwa importiert) wird; ein komplettes Script sähe dann bspw. so aus:

Code: Alles auswählen

#!/usr/bin/env python3

def mach_was():
    while True:
        pass 
        
if __name__ == '__main__':
   mach_was()
Ob es sinnvoll wäre, in der while-Schleife auch noch eine Abbruchbedingung zu definieren, weiß ich nicht. Andernfalls sollte die Schleife unterbrochen werden, wenn der Rechner herunterfährt.

Viele Grüße
Lars

hypnotoad
Beiträge: 119
Registriert: 16 Feb 2019, 12:43
Wohnort: 30559 Hannover
Kontaktdaten:

Re: loops in txt-py / schleifen mit txt-py

Beitrag von hypnotoad » 25 Apr 2023, 22:33

Hi Dominik, ist Dein Problem gelöst? Ansonsten weiß ich, glaube ich, was du meinst und könne Dir ein Programmbeispiel raussuchen.

Antworten