Cómo utilizar el subprocesamiento para obtener la entrada del usuario en tiempo real mientras la aplicación principal sigue ejecutándose en Python

En el ciclo WHILE, quiero ejecutar dos funciones, una es la función base, que se ejecutará cada vez, la otra es la función user_input, cuando el usuario ingresa ‘desarmar’, el progtwig puede ejecutar la función user_input. Esta función de dos funciones en el bucle WHILE puede ejecutarse todo el tiempo.

¿Cómo podría hacer para escribir una función para lograr esto?

Porque es en tiempo real, así que no puedo agregar time.sleep en subprocesos.

Gracias.

import threading class BackInput(threading.Thread): def __init__(self): super(BackInput, self).__init__() def run(self): self.input = raw_input() while True: threading1 = BackInput() threading1.start() threading1.join() if threading1.input == 'disarm': print 'Disarm' break print 'Arm' 

En este código, el progtwig debe imprimir el Armado cada segundo, cuando escribí Desarmar, puede imprimir Desarmar y romperlo.

Realmente necesitas ser más específico. ¿Por qué estos tienen que estar en hilos? Debe mostrarnos lo que ha intentado o describir con más detalle lo que está tratando de lograr.

En su configuración actual, está poniendo el hilo dentro de un bucle, por lo que no puede ejecutarse independientemente de cada entrada de usuario.

editado: aquí hay un código limpio como ejemplo para usted, en función de sus ediciones y comentarios.

 import threading import time import sys def background(): while True: time.sleep(3) print 'disarm me by typing disarm' def other_function(): print 'You disarmed me! Dying now.' # now threading1 runs regardless of user input threading1 = threading.Thread(target=background) threading1.daemon = True threading1.start() while True: if raw_input() == 'disarm': other_function() sys.exit() else: print 'not disarmed'