成都网站建设设计

将想法与焦点和您一起共享

Python中实现输入超时及如何通过变量获取变量名-创新互联

背景介绍

创新互联建站坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10余年网站建设经验创新互联建站是成都老牌网站营销服务商,为您提供成都网站建设、成都网站设计、网站设计、H5建站、网站制作、高端网站设计、小程序制作服务,给众多知名企业提供过好品质的建站服务。

开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程序如果在一段时间后还没有得到用户输入就执行默认操作.

解决思路 – 多线程法

我就想到了用多线程的方式, 开启一个子线程用stdin(比如python的input函数)获取用户输入, 主线程里设置线程启动和超时.

创建线程

Python中使用多线程很方便, threading.Threaded(函数, 参数表)然后thread.start就好了. 只是有一点需要注意, 上面参数表必须是个元组, 也就是每个元素后面必须跟个逗号.

import threading
def anyFunction(aaa):
 return str(aaa) #某种处理结果, 比如字符串
def manualInput(xxx):
 data = input("请输入%s: " % xxx)
 pass # 各种处理(比如数据转换什么的)
 
exampleThread = threading.Thread(target = manualInput, args = ( anyFunction("汪汪汪"), ), name = "喵喵喵")
exampleThread.start()

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Python中实现输入超时及如何通过变量获取变量名-创新互联
URL网址:http://chengdu.cdxwcx.cn/article/igggg.html