Python限制input输入时间

ZACKZHOU

秋二

最近遇到一个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

希望上面的内容对大家有帮助哈,若有疑问,请留言。谢谢!!

穷鬼盾

你可以把代码粘贴到知乎编辑器里的“代码块”中,这样就有了缩进和高亮

ZACKZHOU

指教,学习了。已经使用“代码块”更新了。

我只有一件白T恤: 断输入的异常 你没有处理呢        

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值