Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Python3 28. 01. 2016, 20:24:55

Název: Python 3.4 a čtení z klávesnice
Přispěvatel: Python3 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.
Název: Re:Python 3.4 - Klávesnice
Přispěvatel: Ivan Nový 28. 01. 2016, 22:04:58
A co toto http://stackoverflow.com/questions/25263853/nothing-happening-with-msvcrt-getch-when-running-script-in-pycharm-3-4-x-conso
Název: Re:Python 3.4 - Klávesnice
Přispěvatel: palo 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__
Název: Re:Python 3.4 - Klávesnice
Přispěvatel: Python3 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.
Název: Re:Python 3.4 - Klávesnice
Přispěvatel: palo 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.