首页 > 解决方案 > 如果未在规定时间内指定输入,则终止 Python 程序

问题描述

如果用户未在特定时间范围内(例如 5 秒)提供输入,我将尝试终止 python 程序。

代码已从平庸的答案中获取和编辑

import sys
import time
from threading import Thread

x = None

def check():
    global x
    time.sleep(5)
    if x:
        print("Input has been given!")
        return
    sys.exit()

Thread(target=check).start()
x = input("Input something: ")

但它一直在等待输入并且不会终止,除非给出输入。如何更改代码以使其按预期执行?

标签: pythonpython-3.xinputterminate

解决方案


你应该试试这个代码它在 vscode 上的工作

import sys
import time
from threading import Thread

x = None

def check():
  global x
  time.sleep(5)
  if x:
    print("Input has been given!")
    return
  else:
    print("input has not been given for last 5 sec") 
    sys.exit()
if __name__=='__main__':
  t1=Thread(target=check)
  t1.start()

  x = input("Input something: ")
  t1.join()

推荐阅读