Cómo leer de Stdin en Python

Cómo leer de Stdin en Python

Tomar la entrada del usuario es una parte importante de cualquier lenguaje de programación. La salida de los muchos programas depende de la entrada estándar. La forma de tomar la entrada del usuario es diferente para diferentes lenguajes de programación. Existen muchas maneras en Python para leer de la entrada estándar. El función de entrada () es la forma más común es leer de la entrada estándar, que es una función incorporada. El sys.stdin es otra forma de leer desde la entrada estándar las llamadas función de entrada () internamente. Python tiene otro módulo llamado FileInput para leer la entrada estándar. El función de entrada () de este módulo se puede usar para leer la entrada estándar o leer contenido de uno o más archivos. Se han explicado diferentes formas de leer de la entrada estándar en Python en este tutorial.

Exampe-1: lea datos de stdin usando la función input ()

La función input () es la función más utilizada para tomar la entrada del usuario. Cree un archivo Python con el siguiente script para tomar la entrada del usuario hasta que se presione la tecla 'N'. Aquí, se crea un bucle infinito usando el bucle While. La primera función de entrada () se usa para tomar los datos del usuario, y la función print () se usa para imprimir el valor de entrada. A continuación, la función input () del script se usa para pedirle al usuario que continúe la tarea nuevamente o salga del script. Si el usuario presiona 'n' o 'n', la iteración del bucle será detenido por la declaración de descanso; De lo contrario, el bucle iterará nuevamente y tomará otra entrada del usuario. La función superior () se usa en el script para capitalizar el valor dado por el usuario.

# Defina un bucle infinito
Mientras que es cierto:
# Tome la entrada del usuario
inputVal = input ("Escriba cualquier texto: \ n")
# Imprimir el valor de entrada
imprimir ("El valor de entrada es %s" %(inputVal))
# Solicite la próxima iteración
nextInput = input ("¿Quieres continuar?? (Y/n) ")
# Terminar desde el bucle si se presiona 'n'
Si NextInput.superior () == 'n':
romper
# Imprimir el mensaje de terminación
Imprimir ("Programa terminado.")

Producción:

La siguiente salida similar aparecerá después de ejecutar el script anterior. Aquí, 'Linuxhint'ha dado como el primer valor de entrada y terminado del script para presionar el personaje,' n '.

Ejemplo-2: Lea los datos de Stdin usando SYS.stdin

El sys.stdin es otra opción de Python para tomar la entrada estándar de los usuarios desde el terminal. Llama a la función de entrada () internamente y agrega '\norte'Después de tomar la entrada. Cree un archivo de Python con el siguiente script para verificar el uso de la sys.stdin Para tomar la entrada estándar. Aquí, el bucle 'For-In' se usa para tomar la entrada de los tiempos infinitos del usuario hasta que el usuario quiera finalizar el script. Después de imprimir el valor de entrada, el función de entrada () se usa para pedirle al usuario que detenga el script o no. El script se terminará si el usuario presiona 'Y' o 'Y'. El función superior () se usa aquí también para capitalizar el valor de entrada.

# Módulo de importación SYS
Sys de importación
Imprimir ("Escriba cualquier texto:")
# Tome la entrada usando stdin
Para InputVal en SYS.Stdin:
# Imprimir el valor de entrada
imprimir ('El valor de entrada es: % s' % inputVal)
# Solicite la próxima iteración
nextInput = input ("¿Quieres terminar? (Y/n) ")
# Terminar desde el bucle si se presiona 'Y/Y'
Si NextInput.banda().superior () == 'y':
romper
demás:
Imprimir ("Escriba cualquier texto:")

Producción:

La siguiente salida similar aparecerá después de ejecutar el script anterior. Aquí, 'Programación de Python'ha dado como el primer valor de entrada y terminado del script para presionar el personaje,' y '.

Ejemplo-3: Lea los datos de Stdin utilizando FileInput

El FileInput es otro módulo de Python para tomar la entrada estándar. Las líneas de texto se pueden tomar del terminal o de un archivo utilizando FileInput.aporte(). Si no se proporciona ningún valor de argumento en esta función, tomará la entrada del terminal y si el nombre de un archivo existente se proporciona como un valor de argumento, tomará la entrada del archivo. Cree un archivo de Python con el siguiente script para tomar la entrada estándar del terminal. Aquí, el bucle 'For-In' se usa como el ejemplo anterior para tomar la entrada en tiempos infinitos hasta que el usuario quiera terminar el script. A continuación, la función input () se usa para pedirle al usuario que detenga el script o no. El script se terminará si el usuario tipos 'Salir' o 'dejar' o 'salir'. El función superior () se usa aquí también para capitalizar el valor de entrada. El Función Strip () se usa para eliminar los espacios adicionales de ambos lados del valor de entrada.

# Importar el módulo FileInput
Importar FileInput
Imprimir ("Ingrese el texto:")
"
Tome la entrada usando FileInput.entrada () función y
Presione Ctrl+D para terminar de tomar el valor de entrada
"
Para InputVal en FileInput.aporte():
# Terminar desde el bucle si se escribe 'dejar de fumar'
Si InputVal.banda().superior () == "salir":
romper
# Imprimir el valor de entrada
imprimir ("El valor de entrada es:", inputVal)
Imprimir ("Ingrese el texto:")

Producción:

La siguiente salida similar aparecerá después de ejecutar el script anterior. Aquí, 'Aprende Python de Linuxhint.com 'ha dado como el primer valor de entrada y terminado del script para escribir la palabra,' dejar de lado '. Tienes que recordar una cosa mientras toma la opinión del terminal usando el FileInput módulo. Es decir, debe presionar Ctrl+D después de tomar la entrada.

Debe proporcionar el nombre de archivo como el valor de argumento del FileInput.aporte() función si desea tomar datos del archivo en lugar del terminal.

Conclusión:

Se han mostrado tres formas diferentes de tomar la entrada del terminal en este tutorial utilizando tres ejemplos simples. No se requiere un módulo para usar el función de entrada () para tomar la entrada. Se requiere que el módulo SYS importe para usar sys.stdin, y el módulo FileInput se requiere para importar para usar FileInput.aporte() en el script para tomar la entrada estándar. Espero que los usuarios de Python tomen la entrada estándar en función de sus requisitos después de leer este tutorial.