2015-05-29 17 views
8

Próbowałem odczytać jeden znak z konsoli w PyCharm (bez wciskania klawisza Enter), ale bez skutku. Funkcje msvcrt.getch() zatrzymuje kod, ale nie reaguje na naciśnięcia klawiszy (nawet wejść) i msvcrt.kbhit() zawsze zwraca 0. Na przykład ten kod drukuje nic:PyCharm: msvcrt.kbhit() i msvcrt.getch() nie działają?

import msvcrt 
while 1: 
    if msvcrt.kbhit(): 
     print 'reading' 
print 'done' 

używam Windows 7, pycharm 3.4 (The te same heppens w stanie bezczynności).

Co jest nie tak? Czy istnieje inny sposób, aby po prostu odczytać dane wejściowe bez wprowadzania?

+1

sam problem tutaj. Wydaje się, że nie ma żadnego sposobu na przechwycenie naciśnięcia klawisza wewnątrz konsoli Run. Naprawdę mam nadzieję, że ktoś się tym zajmie. – GrizzlyGuru

+0

To samo tutaj, 'key = msvcrt.getch()' nie działa w PyCharm 5.0.4. – Danijel

+1

Poprosiłem na intellijskiej tracker, aby to naprawił. Jeśli chcesz też, możesz tutaj napisać problem: https://youtrack.jetbrains.com/issue/PY-21240 –

Odpowiedz

2

Jest to możliwe w specjalnym trybie okna Run.

  • Zaznacz pole wyboru Emulate terminal in output console ustawienie w Run/Debug Configurations