Ich würde so einer Anziehungskraft nachgeben, bzw. nachgehen.mcdaniels hat geschrieben:Immerwieder erwische ich mich dabei, wie ich von Tk bzw wxPython magisch angezogen werden.
Keine Ideen um das Gelernte umzusetzen
-
problembär
-
BlackJack
@lunar: Weitere Alternative:
Wobei ich bei meiner Lösung auch nach der 42 noch fleissig weiter gelesen habe, denn wenn in der Beispieleingabe nach der 42 noch eine Zahl kommt, kann man ja auch nicht ausschliessen, dass da noch mehr kommt das vielleicht den Puffer füllt und dann blockiert das Prüfprogramm am Ende wenn mein Programm die Daten nicht mehr abholt.
Code: Alles auswählen
sys.stdout.writelines(iter(sys.stdin.readline, '42\n'))Halli hallo,
na da gehts ja ordentlich rund
. Unglaublich, wie kurz und bündig man das lösen kann, wenn man weiß, auf welches Modul man zurück greifen kann bzw. Gurustatus hat 
@problembär:
LG
Daniel
na da gehts ja ordentlich rund
@problembär:
Hilft ja nix, wenn ich die Basics noch nicht in und auswendig kann.Ich würde so einer Anziehungskraft nachgeben, bzw. nachgehen.
LG
Daniel
Zuletzt geändert von mcdaniels am Donnerstag 12. April 2012, 19:22, insgesamt 1-mal geändert.
-
lunar
@BlackJack: An ".writelines()" hatte ich nicht gedacht
Ich glaube nicht, dass das Blockieren des Puffers ein Problem sein sollte. Das Prüfprogramm mag blockieren, läuft aber spätestens dann weiter, wenn Dein Programm sich nach der ersten "42" beendet, und dabei seine Standardeingabe schließt. Der blockierende Aufruf von "write()" gibt dann EPIPE zurück, und ein anständig geschriebenes Programm sollte das eigentlich abfangen. Zudem müsste das Prüfprogramm schon eine ganze Menge Zahlen schreiben, um den Pipe-Puffer zu füllen
Ich glaube nicht, dass das Blockieren des Puffers ein Problem sein sollte. Das Prüfprogramm mag blockieren, läuft aber spätestens dann weiter, wenn Dein Programm sich nach der ersten "42" beendet, und dabei seine Standardeingabe schließt. Der blockierende Aufruf von "write()" gibt dann EPIPE zurück, und ein anständig geschriebenes Programm sollte das eigentlich abfangen. Zudem müsste das Prüfprogramm schon eine ganze Menge Zahlen schreiben, um den Pipe-Puffer zu füllen
