user1473508 user1473508 - 2 months ago 6
Python Question

do action while raw_input is empty

I'd like to do some actions while waiting for a user input:
I was thinking of:

var = raw_input("what are you thinking about")
while var == None:
dosomethingwhilewaiting()
print "input is:", var


but raw_input is blocking until a user input come in.
Any ideas?

Answer

you can use threads.

import thread
import time

var = None
def get_input():
    global var
    var = raw_input("what are you thinking about")

thread.start_new_thread(get_input, ())

i = 0
while var == None:
    i += 0.1
    time.sleep(0.1)
print "input is:", var
print "it took you %d seconds to answer" % i
Comments