如果按下键盘序列,继续在python中循环

时间:2013-02-14 06:34:34

标签: python keyboard-events

我有一个Python脚本,它执行一个for循环,运行用于执行测量不同物理现象的科学实验的模块。我想创建一个由我的程序识别的键盘序列,它将继续for循环(跳过当前测量)并开始下一个测量序列。

    measurement = EXPERIMENT()
    for m in measurement:

        SciExpMeasure(value1,value2, value3)

我希望用户能够输入一些键盘序列(例如'Ctrl + n'),以便

    measurement = EXPERIMENT()
    for m in measurement:
        if keyboardSequence: continue

        SciExpMeasure(value1, value2, value3)

对于监控数据采集的用户是否能够跳过错误的测量并继续下一个测量的想法。我已经调查了'按任意键继续'示例,并且不认为这些选项在我的应用程序中对我有用,因为他们似乎在继续之前等待'任何被按下'。

提前致谢。

1 个答案:

答案 0 :(得分:1)

查看msvcrt的控制台I / O部分。具体做法是:

msvcrt.kbhit()

  

如果按键等待读取,则返回true。

然后 msvcrt.getch()

  

读取按键并返回结果字符。控制台没有任何回应。如果按键尚未可用,此调用将阻止,但不会等待按下Enter键。如果按下的键是特殊功能键,则返回'\ 000'或'\ xe0';下一个调用将返回键码。使用此功能无法读取Control-C按键。