Com llegir des de stdin a Python

How Read From Stdin Python



Prendre l’entrada de l’usuari és una part important de qualsevol llenguatge de programació. La sortida dels molts programes depèn de l'entrada estàndard. La forma de rebre informació de l'usuari és diferent per als diferents llenguatges de programació. Hi ha moltes maneres de llegir a Python des de l'entrada estàndard. El funció input () és la forma més habitual de llegir des de l'entrada estàndard, que és una funció integrada. El sys.stdin una altra forma és llegir les trucades des de l'entrada estàndard funció input () internament. Python té un altre mòdul anomenat entrada de fitxers per llegir l'entrada estàndard. El funció input () d'aquest mòdul es pot utilitzar per llegir l'entrada estàndard o llegir contingut d'un o més fitxers. En aquest tutorial s’han explicat diferents maneres de llegir des de l’entrada estàndard de Python.

Exampe-1: Llegiu dades de stdin mitjançant la funció input ()

La funció input () és la funció més utilitzada per rebre l'entrada de l'usuari. Creeu un fitxer python amb el següent script per rebre l'entrada de l'usuari fins que es prem la tecla 'n'. Aquí es crea un bucle infinit mitjançant el bucle while. La primera funció input () s’utilitza per prendre les dades de l’usuari i la funció print () s’utilitza per imprimir el valor d’entrada. A continuació, s'utilitza la funció input () de l'script per demanar a l'usuari que continuï la tasca de nou o que surti de l'script. Si l’usuari prem 'n' o 'N', la instrucció break detindrà la iteració del bucle; en cas contrari, el bucle tornarà a repetir-se i prendrà una altra entrada de l'usuari. La funció upper () s'utilitza a l'script per posar en majúscules el valor donat per l'usuari.







# Definiu un bucle infinit

mentre És cert:

# Preneu l'entrada de l'usuari

inputVal= entrada('Escriviu qualsevol text: n')

# Imprimiu el valor d'entrada

imprimir('El valor d'entrada és% s'%(inputVal))

# Demaneu la següent iteració

nextInput= entrada('Vols continuar? (S / N) ')

# Finalitza el bucle si es prem 'n'

sinextInput.superior() == 'N':

trencar

# Imprimiu el missatge de finalització

imprimir('Programa finalitzat.')

Sortida:

La següent sortida similar apareixerà després d'executar l'script anterior. Aquí, ‘ LinuxHint 'Ha donat com a primer valor d'entrada i ha finalitzat des de l'script per prémer el caràcter,' n '.





Exemple-2: llegiu dades de stdin mitjançant sys.stdin

El sys.stdin és una altra opció de Python per obtenir l'entrada estàndard dels usuaris des del terminal. Crida la funció input () internament i afegeix ' n 'Després de prendre l'entrada. Creeu un fitxer python amb el següent script per comprovar l'ús del fitxer sys.stdin per obtenir entrada estàndard. Aquí, el bucle 'for-in' s'utilitza per agafar l'entrada de l'usuari infinites vegades fins que l'usuari vol finalitzar l'script. Després d'imprimir el valor d'entrada, el fitxer funció input () s’utilitza per demanar a l’usuari que detingui o no el script. El guió finalitzarà si l'usuari prem ' i 'O' I ‘. El funció superior () aquí també s’utilitza per capitalitzar el valor d’entrada.





# Importa el mòdul sys

importació sys


imprimir('Escriviu qualsevol text:')


# Preneu l'entrada amb stdin

perinputValdins sys.stdin:

# Imprimiu el valor d'entrada

imprimir('El valor d'entrada és:% s'% inputVal)


# Demaneu la següent iteració

nextInput= entrada('Voleu donar de baixa? (S / N) ')

# Finalitza el bucle si es prem 'y / Y'

sinextInput.tira().superior() == 'I':

trencar

en cas contrari:

imprimir('Escriviu qualsevol text:')

Sortida:

La següent sortida similar apareixerà després d'executar l'script anterior. Aquí, ‘ Programació Python 'Ha donat com a primer valor d'entrada i ha finalitzat des de l'script per prémer el caràcter,' y '.



Exemple-3: llegiu les dades de stdin mitjançant l’entrada de fitxers

La introducció de fitxers és un altre mòdul de Python per prendre l'entrada estàndard. Les línies de text es poden prendre des del terminal o d'un fitxer mitjançant l'ús fileinput.input () . Si no es proporciona cap valor d'argument en aquesta funció, prendrà l'entrada del terminal i, si el nom d'un fitxer existent es proporciona com a valor d'argument, prendrà l'entrada del fitxer. Creeu un fitxer python amb el següent script per obtenir l'entrada estàndard del terminal. Aquí, el bucle 'for-in' s'utilitza com a exemple anterior per prendre l'entrada durant infinites vegades fins que l'usuari vulgui finalitzar l'script. A continuació, s'utilitza la funció input () per demanar a l'usuari que detingui o no l'script. El script finalitzarà si l'usuari escriu 'Deixar de fumar' o 'deixar de fumar' o 'deixar de fumar' . El funció superior () aquí també s’utilitza per capitalitzar el valor d’entrada. El funció strip () s'utilitza per eliminar els espais addicionals dels dos costats del valor d'entrada.

# Importa el mòdul d'entrada de fitxers

importació entrada de fitxers


imprimir('Introduïu el text:')

'' '

Preneu l'entrada mitjançant la funció fileinput.input () i

premeu Ctrl + D per acabar de prendre el valor d'entrada

'' '


perinputValdins entrada de fitxers.entrada():

# Acabeu del bucle si s'escriu 'quit'

siinputVal.tira().superior() == 'SORTIR':

trencar


# Imprimiu el valor d'entrada

imprimir('El valor d'entrada és:',inputVal)

imprimir('Introduïu el text:')

Sortida:

La següent sortida similar apareixerà després d'executar l'script anterior. Aquí, 'Aprèn python de LinuxHint.com' s'ha donat com a primer valor d'entrada i ha finalitzat des de l'script per escriure la paraula 'deixar'. Heu de recordar una cosa mentre preníeu l'entrada del terminal mitjançant el fitxer entrada de fitxers mòdul. És a dir, heu de prémer ctrl + d després de prendre l'entrada.

Heu de proporcionar el nom del fitxer com a valor d'argument del fitxer fileinput.input () funció si voleu prendre dades del fitxer en lloc del terminal.

Conclusió:

En aquest tutorial s’han mostrat tres maneres diferents d’agafar l’entrada del terminal mitjançant tres exemples senzills. No es requereix cap mòdul per utilitzar el fitxer funció input () per prendre l'entrada. Cal importar el mòdul sys per utilitzar-lo sys.stdin , i la mòdul d'entrada d'arxius cal importar per utilitzar-lo fileinput.input () al guió per obtenir l'entrada estàndard. Espero que els usuaris de Python prenguin l'entrada estàndard en funció dels seus requisits després de llegir aquest tutorial.