Duplicar posibles:
Can select() be used with files in Python under Windows?sys.stdin en select.select en Windows
En UNIX yo soy capaz de pasar a sys.stdin
select.select
en Python. Estoy intentando hacer esto en Windows, pero select.select
en Python en Windows no lo permitirán.
Para describir con mayor precisión lo que estoy haciendo, vea https://github.com/eldarion/gondor-client/blob/ccbbf9d4b61ecbc2f66f510b993eb5fba0d81c09/gondor/run.py.
La función unix_run_poll
es lo que estoy tratando de lograr en Windows. La idea básica es que tengo una conexión de socket a un servidor que conectó la transmisión stdin, stdout, stderr a un proceso que se ejecuta de forma remota y estoy interactuando con él desde el cliente local y haciendo que parezca que el cliente local está ejecutando el proceso.
El win32_run_poll
es mi intento de portarlo a Windows y funciona, más o menos. Es un poco inestable y el enfoque, IMO, es muy malo.
¿Alguien tiene sugerencias sobre cómo se puede mejorar esto? La dependencia de win32api es menos que ideal, pero estoy de acuerdo en mantenerla.
¿Ha mirado bibliotecas/frameworks dedicados a implementaciones de bucles de eventos? Por ejemplo, [twisted] (http://twistedmatrix.com/trac/) tiene dos implementaciones de un [Win32 reactor] (http://twistedmatrix.com/documents/current/core/howto/choosing-reactor.html# win32_wfmo). – user4815162342
Es curioso que lo menciones. Yo estaba haciendo eso ahora mismo. :-) –
Otra posibilidad es darle el script al socket, en lugar de finalizarlo como stdin/stdout del script, y luego puede usar select.select. – abarnert