秋二
最近遇到一个python的需求,大概的意思就是限制input输入的时间。
我们先来了解一下python的input函数,它主要是接受一个标准输入数据,返回为 string 类型,用于人机交互等场景吧。通常它会一直等待输入信息,回车键表示输入结束。balabala
这里我们要限制input的等待时间,若超时,则执行相应的命令。大概就是这样的,直接上代码吧(代码不优雅,请原谅),我们用的线程控制。
# coding=utf-8
from threading import Thread
import os
import time
def get_value(notice):
"""
获取用户输入内容,执行对应操作
:param notice: 提示用户输入的信息
:return: None
"""
user_value = input(notice)
if user_value == 'qidongyanzhengma':
print('启动码验证通过,欢迎使用该计算机!')
exit(0)
else:
print('启动码输入错误,计算机即将关机!')
time.sleep(1)
os.system('shutdown -s -f -t 0')
if __name__ == '__main__':
msg = "请输入本次启动码:"
# 创建线程
input_thread = Thread(target=get_value, args=(msg,))
# 启动线程
input_thread.start()
# 设置线程时间阀值
input_thread.join(timeout=10)
# 若超时后,线程依旧运行,则执行如下命令
if input_thread.is_alive():
os.system('shutdown -s -f -t 0')
# 否则,pass
else:
pass
希望上面的内容对大家有帮助哈,若有疑问,请留言。谢谢!!
你可以把代码粘贴到知乎编辑器里的“代码块”中,这样就有了缩进和高亮
指教,学习了。已经使用“代码块”更新了。
我只有一件白T恤: 断输入的异常 你没有处理呢