Python 3.4 a čtení z klávesnice

Python3

Python 3.4 a čtení z klávesnice
« kdy: 28. 01. 2016, 20:24:55 »
Zdravím,
chodí sem někdo kdo programuje v py a poradil by mi ? Nevím jak získat vstupy z klávesnice, jedná se mi téměř o celou US klávesnici (bez cz diakritiky).
Dobře to umí curses, ale ja to potřebuji pro řádkové příkazy a samotné spuštění curses se přepne ihned na full screen (jelikož je k tomu určen, tak se není čemu divit) ;-)
Děkuji za případnou pomoc.
« Poslední změna: 29. 01. 2016, 00:06:16 od Petr Krčmář »



palo

Re:Python 3.4 - Klávesnice
« Odpověď #2 kdy: 28. 01. 2016, 22:12:01 »
Úplne stačí funkcia input.

vstup = input()

Na riadkové príkazy. Ak je to teda myslené, že užívateľ napíše príkaz a stlačí enter, že nechcete odchytávať kontrolné znaky, šípky,... Dokonca to v python3 nemá probém ani  s diakritikou. Vracia to string. Viac input.__doc__

Python3

Re:Python 3.4 - Klávesnice
« Odpověď #3 kdy: 28. 01. 2016, 22:14:51 »
Úplne stačí funkcia input.

vstup = input()

Na riadkové príkazy. Ak je to teda myslené, že užívateľ napíše príkaz a stlačí enter, že nechcete odchytávať kontrolné znaky, šípky,... Dokonca to v python3 nemá probém ani  s diakritikou. Vracia to string. Viac input.__doc__

Nestačí, důvod jsi uvedl.. přesně to potřebuji.

palo

Re:Python 3.4 - Klávesnice
« Odpověď #4 kdy: 28. 01. 2016, 22:37:37 »
Aha. Tak ak chceš celý vstup z klávesnice, včetne kontrolných znakov, proste čo užívateľ stlačí, to máš, tak je potreba prepnúť terminál do raw módu, aby nebufferoval vstup. To btw nemá s pythonom nič spoločné, to je vlastnosť terminálu (operačného systému). Bohužiaľ na každom systéme sa to robí inak. Príklad ako na to: http://code.activestate.com/recipes/134892/
Konkrétne na unixoch rôzne vlastnosti terminálu nastavíš pomocou funkcií v module tty.