python什么时候用input_如何在python中不使用“input”来检测输入?

至少有两种方法可以解决这个问题。在

第一个是检查您的“标准输入”流是否有一些数据,而不是阻塞实际等待有一些数据。评论中引用的答案告诉你如何处理这个问题。然而,虽然这在简单性方面很有吸引力(与其他替代方案相比),但是在Windows和Linux之间没有办法透明地实现这一点。在

第二种方法是使用线程阻塞并等待用户输入:import threading

import time

no_input = True

def add_up_time():

print "adding up time..."

timeTaken=float(0)

while no_input:

time.sleep(0.01)

timeTaken=timeTaken+0.01

print(timeTaken)

# designed to be called as a thread

def signal_user_input():

global no_input

i = raw_input("hit enter to stop things") # I have python 2.7, not 3.x

no_input = False

# thread exits here

# we're just going to wait for user input while adding up time once...

threading.Thread(target = signal_user_input).start()

add_up_time()

print("done.... we could set no_input back to True and loop back to the previous comment...")

正如您所看到的,在如何从线程到接收到输入的主循环之间进行通信时,存在一些两难的问题。全局变量来指示它。。。恶心,嗯?在

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值