Seite 1 von 1

Key & Input -Listener?

Verfasst: Samstag 4. Mai 2013, 12:39
von Pyanfänger
Guten Tag!

Nachdem ich eine Zeit lang eine Pause eingelegt habe, und mich dann mit Java beschäftigt habe, würde ich mal behaupten, dass ich ein paar Grundprinzipien der Programmierung verstehe (Wenn ich meine Threads von früher anschaue... :roll: ). Heute wollte ich wieder mit Python anfangen, und irgendetwas in der Konsole bewerkstelligen. Allerdings hätte ich jetzt mehrere Fragen:
Hat Python (von Haus aus - Ohne irgendwelche externen Librarys!) einen Key & Input -Listener? Ich würde gerne KeyEvents, also sobald man eine Taste drückt, abfangen, und diese dann verarbeiten. Dann zu den Input-Listenern: Via raw_input wird der Input ja "geforct". Ich will aber, dass der User immer etwas eingeben kann - Und diese Eingabe auch abgefangen wird. Wahrscheinlich stelle ich mich gerade nur wieder dumm an, aber gut... :oops:


MfG

Re: Key & Input -Listener?

Verfasst: Samstag 4. Mai 2013, 12:51
von BlackJack
@Pyanfänger: Einzelne Tasten ist schwierig, weil das nicht plattformunabhängig ist. Für einen Eingabe-Listener könntest Du Dir einen Thread mit dem `threading`-Modul schreiben. Beziehungsweise die anderen arbeiten in Threads erledigen, denn Signale, also zum Beispiel ein `KeybardInterrupt` werden nur im Hauptthread verarbeitet.

Was hast Du denn *eigentlich* vor?

Re: Key & Input -Listener?

Verfasst: Samstag 4. Mai 2013, 13:00
von Pyanfänger
@BlackJack Vielen Dank, ich gucke mir das Modul mal an!

Was ich vorhabe weiß ich eigentlich nicht. Erstes Projekt ist wohl, mich wieder mit der Syntax vertraut zu machen.. ^^
Wollte eig. irgendetwas mit der Konsole anfangen - Quasi irgendeine "GUI" (Wenn man es so nennen kann :roll:), welche mit Buchstaben gerendert wird.

MfG

EDIT: Oh, und noch eine Frage:
Gibt es eine Möglichkeit, die Konsole "doppelzupuffern"? Zurzeit habe ich einen Loop, welcher eine Render-Methode aufruft - Natürlich flackert der Bildschirm dann. Also brauche ich irgendwie einen Doppelpuffer, habe aber keine Ahnung, wie ich den mit der Konsole ermöglichen soll...

Re: Key & Input -Listener?

Verfasst: Samstag 4. Mai 2013, 13:32
von webspider
Es gibt genug curses-artige Module, unter anderem curses (wer hätte es gedacht) und urwid. Diese können Tasten abfangen und bieten etwas komfortableres zeichenbasiertes Rendering an.

Re: Key & Input -Listener?

Verfasst: Samstag 4. Mai 2013, 13:42
von BlackJack
@Pyanfänger: Die Antwort ist die selbe wie bei der Tasteneingabe: Das ist extrem von der Plattform und der verwendeten Konsole abhängig. Natürlich geht das, damit begibt man sich aber auf eine Ebene in der man mit Python eigentlich nichts zu tun haben will, insbesondere wenn es schon Bibliotheken dafür gibt. Unter Linux & Co ist das `curses`-Modul in der Standardbibliothek und es gibt mit dem externen `urwid` eine ganz nette Text-UI-Bibliothek. Und unter Windows sind Text-UIs einfach nicht „normal”, da würde ich gleich auf eine GUI setzen.