Hallo,
ich habe in einer GUI - Tkinter - einen Start-Button, der ein anderes Programm aufruft. Dieses andere Programm schreibt eine Stati in eine Datei. Diese Datei möchte ich nun in der Form in meiner GUI auslesen, dass dort ständig ein Status-Label aktualisiert wird.
Ich rufe dieses externe Programm mit "os.system(...)" auf. Wartet die GUI in diesem Fall so lange bis das externe Programm fertig ist? Oder kann die GUI auch ständig diese Datei auslesen und dann den dort gelesenen Status anzeigen? Hat das eventuell was mit Threading zu tun oder wie soll ich mich dem Problem nähern?
Statuszeile mit Daten aus Datei verändern
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Benutz subprocess statt os.system und lies die Dokumentation, dort werden alle deine Fragen beantwortet.
http://docs.python.org/library/subproce ... subprocess
http://docs.python.org/library/subproce ... subprocess
Bottle: Micro Web Framework + Development Blog
Das Stichwort hier wäre die "after()-Methode" von Tkinter, die du nutzen kannst, um in bestimmten selbst festlegbaren Abständen "etwas" zu tun.api hat geschrieben:ich habe in einer GUI - Tkinter - einen Start-Button, der ein anderes Programm aufruft. Dieses andere Programm schreibt eine Stati in eine Datei. Diese Datei möchte ich nun in der Form in meiner GUI auslesen, dass dort ständig ein Status-Label aktualisiert wird.
Threads sind in Verbindung mit Tkinter in der Regel keine gute Idee (dazu findest du einiges im Forum) und in diesem Fall auch nicht nötig.