Cómo leer desde stdin en Python

How Read From Stdin Python



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

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

La función input () es la función más utilizada para recibir información del usuario. Cree un archivo de Python con la siguiente secuencia de comandos para recibir información del usuario hasta que se presione la tecla 'n'. Aquí, se crea un bucle infinito utilizando el bucle while. La primera función input () 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 se detendrá mediante la declaración de interrupción; de lo contrario, el ciclo se repetirá nuevamente y tomará otra entrada del usuario. La función upper () se usa en el script para capitalizar el valor dado por el usuario.







# Definir un bucle infinito

tiempo Cierto:

# Tomar información del usuario

inputVal= aporte('Escriba cualquier texto: orte')

# Imprime el valor de entrada

impresión('El valor de entrada es% s'%(inputVal))

# Pregunte por la próxima iteración

nextInput= aporte('¿Quieres continuar? (S / N) ')

# Terminar del ciclo si se presiona 'n'

sinextInput.superior() == 'NORTE':

rotura

# Imprime el mensaje de terminación

impresión('Programa terminado.')

Producción:

La siguiente salida similar aparecerá después de ejecutar el script anterior. Aquí, ' LinuxHint 'Ha dado como primer valor de entrada y ha terminado en el script para presionar el carácter' n '.





Ejemplo 2: leer datos de stdin utilizando sys.stdin

los sys.stdin es otra opción de Python para tomar la entrada estándar de los usuarios desde la terminal. Llama a la función input () internamente y agrega ' orte 'Después de tomar la entrada. Cree un archivo de Python con la siguiente secuencia de comandos para verificar el uso del sys.stdin para tomar la entrada estándar. Aquí, el bucle 'for-in' se usa para tomar la entrada del usuario infinitas veces hasta que el usuario quiere terminar el script. Después de imprimir el valor de entrada, función input () se utiliza para pedirle al usuario que detenga el script o no. La secuencia de comandos finalizará si el usuario presiona ' y ' o ' Y '. los función superior () se utiliza aquí también para capitalizar el valor de entrada.





# Importar módulo sys

importar sys


impresión('Escriba cualquier texto:')


# Tomar entrada usando stdin

porinputValen sys.stdin:

# Imprime el valor de entrada

impresión('El valor de entrada es:% s'% inputVal)


# Pregunte por la próxima iteración

nextInput= aporte('¿Quieres terminar? (S / N) ')

# Terminar del ciclo si se presiona 'y / Y'

sinextInput.banda().superior() == 'Y':

rotura

demás:

impresión('Escriba cualquier texto:')

Producción:

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



Ejemplo 3: leer datos de stdin mediante fileinput

El fileinput es otro módulo de Python para tomar la entrada estándar. Las líneas de texto se pueden tomar de la terminal o de un archivo usando fileinput.input () . Si no se proporciona un 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 la siguiente secuencia de comandos para tomar la entrada estándar de la terminal. Aquí, el bucle 'for-in' se utiliza como el ejemplo anterior para tomar entradas durante infinitas veces hasta que el usuario quiere terminar el script. A continuación, la función input () se usa para pedirle al usuario que detenga el script o no. El script terminará si el usuario escribe 'Salir' o 'Salir' o 'SALIR' . los función superior () se utiliza aquí también para capitalizar el valor de entrada. los función strip () se utiliza para eliminar los espacios adicionales de ambos lados del valor de entrada.

# Módulo de entrada de archivo de importación

importar entrada de archivo


impresión('Ingrese el texto:')

'''

Tome la entrada usando la función fileinput.input () y

presione ctrl + D para terminar de tomar el valor de entrada

'''


porinputValen entrada de archivo.aporte():

# Terminar del ciclo si se escribe 'salir'

siinputVal.banda().superior() == 'DEJAR':

rotura


# Imprime el valor de entrada

impresión('El valor de entrada es:',inputVal)

impresión('Ingrese el texto:')

Producción:

La siguiente salida similar aparecerá después de ejecutar el script anterior. Aquí, 'Aprenda Python de LinuxHint.com' se ha dado como el primer valor de entrada y ha terminado en la secuencia de comandos para escribir la palabra 'salir'. Debe recordar una cosa al tomar la entrada desde el terminal usando el entrada de archivo módulo. Es decir, debe presionar ctrl + d después de tomar la entrada.

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

Conclusión:

En este tutorial se han mostrado tres formas diferentes de tomar entradas desde el terminal usando tres ejemplos simples. No se requiere ningún módulo para utilizar el función input () por tomar la entrada. Es necesario importar el módulo sys para usar sys.stdin , y el módulo de entrada de archivos es necesario importar para usar fileinput.input () 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.