我创建了一个Python脚本,可以从管道(名为pipe1)获取命令。您可以在Pastebin上找到脚本 我用另一个脚本测试了脚本:
import sys
fw = open("pipe1", "w" )
fw.write('fd\n')
fw.close()
并且有效。
现在我想用另一个Python脚本控制脚本,如果我按w
,a
,s
,d
或{{ 1}}并显示我按下的按键。
在这个例子中,我只想打印我按下的键。我稍后会添加p
命令来写入管道,我之前测试过:
fw.write
我的问题是,当我打开它时,我写的脚本(以及使用stackoverflow成员改进的脚本)会立即关闭。
任何人都可以解释我为什么,以及我如何解决它以便脚本保持打开状态直到我用Ctrl + c打断它?
答案 0 :(得分:2)
编辑:这个答案依赖于安装readchar模块。您可以通过pip:pip install readchar
安装它。
您尝试使用的代码没有任何功能:您只定义一个函数,但从不调用它。最重要的是,它包含缩进错误。
你想要达到的目标,但用点作为结束键:
import readchar
while True:
key = readchar.readkey()
key = key.lower()
if key in ('wsadqe'):
print 'Key:', key
elif key == 'p':
print "stop"
sleep_time = 0.030
if key == '.':
print "finished"
break