- subprocess wird in einem Thread gestartet...
- die Datei die durch den subprocess gestartet wurde, wird geöffnet, ausgelesen, und der Progressbar wird darauf eingestellt.
Wie ich einen Thread starte, einen subprocess starte, eine Datei durchsuche und mir die Zahl finde und den Progressbar auf die Zahl programmiere, kann ich alles, ist auch alles kein Problem.
Bis jetzt hört sich ja alles einfach an, so nun kommt aber mein Problem. Ich muss aus der Datei diese Zahl so lang heraus holen, bis die Zahl z.B.: 100 ist, dann soll sozusagen die "gigantische Schleife aufhören"
Das heist während der subprocess im neuen Thread läuft, und immer wieder eine neue Info in die datei "xy" schreibt, muss ich in meinem Hauptprogramm, die neue Zahl auslesen, und den Progressbar erweitern, und zwar solange und so oft, bis diese Zahl 100 lautet.
Wenn ich das nun mit einer while schleife mache, also:
Code: Alles auswählen
zahl=0
while meine_zahl!=100:
f=open("datei", "r")
line=f.readline
zahl=line[3:7]
progressbar.set_fraction (zahl)
f.close()
So wie löse ich nun mein Problem und bekomme meine Progressbar????
Im Prinzip muss ein Teil sich um den subprocess kümmern (kein Problem mit Threads) und der andere um das "so und so viel mal" auslesen der Datei (großes Problem)
Wenn ich total auf dem Holzpfad bin, und jemand eine ganz andere (bessere) Idee hat, dann bin ich total glücklich für jede Hilfe. Muss das unbedingt hin bekommen egal wie.
Danke schon mal
P.s.: Wer Linux benutzt, kann dieses ganze Prinzip super mit dem Prozess ping benutzen, denn mit dieser Ausgabe:
64 bytes from ug-in-f104.google.com (66.249.93.104): icmp_seq=6 ttl=243 time=670 ms
kann man super das icmp_seq=6 benutzen, das sich nach jeder neuen Zeile um eins erweitert. mit dem Befehl ping www.google.de | tee meinedatei.txt bekommt man jede neue Zeilenausgabe in die Datei meinedatei.txt