How do I get realtime keyboard input in Python?

こ雲淡風輕ζ 提交于 2020-01-21 12:14:06

问题


Is this possible? Every answer I have looked at isn't what I want. What I do though is something like in omega-rpg (which is an awesome little text-based debian rpg), but in Python instead of C. I have poked around and found some things, but nothing that's relevant to what I'm doing. Is it just easier to use raw_input() / input, or would it be more efficient to use some kind of API for doing so?

TO CLEAR UP:

I need a system of realtime keyboard input in Python, but I don't know whether it's easier to use an API or just raw_input() / input(). If it IS better to use an API, which is the best one for a beginner-level programmer to use?

EXTRA:

Any solution will be used in a TEXT-BASED GAME! Keep that in mind when answering, please.


回答1:


I think using raw_input() in a while loop is an acceptable solution.

You could also look into something like pygame which would handle the main game loop for you and also offers input handling.




回答2:


If you are using Windows you can use the msvcrt module. Specifically, look at kbhit to check whether a key is waiting to be read and getch to read a key press. The user does not need to press enter for the key presses to be made available to your program.




回答3:


You could look into PyHook. It provides callbacks for reading mouse and keyboard events.



来源:https://stackoverflow.com/questions/13694873/how-do-i-get-realtime-keyboard-input-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!