接受的解决方案:来自timgeb的Python: How to get input from console while an infinite loop is running?
我一直在寻找这个问题的答案,持续两个月。我正在进行一项相当大的工作,我正在进行的项目,并最终希望脚本输出一些东西到终端,同时允许用户输入命令。
到目前为止我唯一想到的解决方案是使用两个窗口实现curses,允许通过getch()键盘中断以解析每个键的方式将字符打印到屏幕上按下并将字符打印到第二个窗口。我会在while循环中执行此操作,允许脚本正常运行,同时允许用户输入命令,只需将每个按键中的字符添加到字符串中,然后按Enter键解析输入的文本。
如果有更好的做法,那么curses进程需要的脚本数量就会很大!我不知道应该是什么过程(我甚至不知道我的诅咒想法是否有效)。我通过示例获得了Python标准库,并注意到有关多个进程协同工作的部分,这是我应该研究的内容吗?
样品:
def message():
print "Writing to screen during raw_input() pause."
ipt = raw_input('>>> ') #get input from user
# execute message() here even if user has not entered any information
终端:
"Writing to screen during raw_input() pause."
>>>
理想情况下,它会将输出打印到输入行上方的屏幕。
谢谢!