一日一技:如何实现带Timeout的Input?

网站建设4年前发布
28 0 0

我们知道,在Python里面,可以使用input获取用户的输入。例如:,20230306121356a1a109576069812d34f837f73ae8a4e4302a83350,但有一个问题,如果你什么都不输入,程序会永远卡在这里。有没有什么办法,可以给input设置超时时间呢?如果用户在一定时间内不输入,就自动使用默认值。,要实现这个需求,在Linux/macOS系统下面,我们可以使用selectors。这是Python自带的模块,不需要额外安装。对应的代码如下:,运行效果如下图所示:,20230306121357912d1b843fa8f45ed752213e34dde5eac2fb0d717,selectors[1]这个模块,可以使用系统层级的select,实现IO多路复用。,这段代码来自inputimeout[2]。上面除了Linux/macOS版本外,还有Windows版本。大家有兴趣可以看一下。,[1] selectors: https://docs.python.org/3.8/library/selectors.html,[2] inputimeout: https://github.com/johejo/inputimeout/blob/master/inputimeout/inputimeout.py

© 版权声明

相关文章