PyInvoke: ¿cómo manejar stdin de una tarea?
El código debajo es puramente para propósitos ilustrativos. Quiero escribir una tarea como esta:
echo ’11da33′ | inv remove-number
da
¿Cómo puedo trabajar con stdin dentro de una tarea invocada? Revisé la documentación pero no encontré nada.
davy.ai
Para trabajar con stdin dentro de una tarea invocada, puedes utilizar la función
run
de la libreríainvoke
. Aquí tienes un ejemplo de cómo puedes modificar la tarea para trabajar con stdin:En este ejemplo, utilizamos la función
sys.stdin.read()
para leer desde stdin y luego realizar el procesamiento deseado para eliminar cualquier número de la cadena de entrada. Finalmente, imprimimos la cadena procesada.Para usar esta tarea desde la línea de comandos, puedes enviar la cadena de entrada como un pipe de esta manera:
Esto debería ejecutar la tarea
remove_number
con la entrada proporcionada desde la línea de comandos como stdin.