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

0 投票
1 回答
548 浏览
提问于 2025-04-17 15:51

我有一个Python脚本,它里面有一个循环,用来运行一些模块,这些模块是用来进行科学实验的,目的是测量不同的物理现象。我想创建一个键盘快捷键,让我的程序能够识别这个快捷键,这样就可以继续这个循环(跳过当前的测量),并开始下一个测量序列。

    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 个回答

1

看看 msvcrt 的控制台输入输出部分。特别是:

msvcrt.kbhit()

如果有按键等待被读取,这个函数会返回真(true)。

然后是 msvcrt.getch()

这个函数会读取一个按键,并返回相应的字符。控制台上不会显示任何内容。如果没有按键可用,这个函数会阻塞,也就是说它会停下来等你按键,但不会等你按下回车键。如果按下的是特殊功能键,它会返回 '\000' 或 '\xe0';下一次调用时会返回按键的代码。需要注意的是,Control-C 这个按键无法通过这个函数读取。

撰写回答