python - 如何在 python 中通过键盘输入继续 for 循环?

标签 python linux io

我有一个 for 循环,它使用 subprocess.call() 来调用 Linux 程序。有时需要太长时间,我希望能够跳到继续循环。有没有办法在 subprocess.call() 运行时监视键盘输入(例如 s)?

for x in y:
    if lookforkeyboardinput = s:
        continue
    subprocess.call(['program', x])

类似这样的事情。

最佳答案

使用键盘中断异常:

for x in y:
    try:
        subprocess.call(['program', x])
    except (KeyboardInterrupt, SystemExit):
        continue

示例:

from time import sleep

for x in range(0, 5):
    try:
        sleep(5)
        print x
    except (KeyboardInterrupt, SystemExit):
        continue

输出:

hedde-mpb:Desktop hedde$ python test.py 
1 
^C  // pressed right after 1 appears, slightly over 5 seconds later 3 appears
3

关于python - 如何在 python 中通过键盘输入继续 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26329121/

相关文章:

linux - 如何清空包含大量文件的 linux 目录?

linux - 使用 shell 脚本在 Unix 中搜索文本文件

linux - 如何使用 awk 中 print 命令的输出附加新列?

c# - 如何检测和管理由加载的 DLL 执行的磁盘/注册表/网络事件?

c# - 将 MemoryStream 保存到文件或从文件加载 MemoryStream

c++ - 如何在 Ubuntu 上提高我的程序磁盘读取速度?

c++ - 渲染二维元素的引用(圆形、圆角矩形、模糊~)

python - 从嵌套列表构建元组

python - 如何从具有非唯一键的字典创建 pandas 系列?

python - 属性错误 : type object 'Word2Vec' has no attribute 'load_word2vec_format'