Hvordan lese fra Stdin i Python

Hvordan lese fra Stdin i Python

Ta innspill fra brukeren er en viktig del av ethvert programmeringsspråk. Utgangen til de mange programmene avhenger av standardinngangen. Måten å ta innspill fra brukeren er forskjellig for forskjellige programmeringsspråk. Det finnes mange måter i Python å lese fra standardinngangen. De input () funksjon er den vanligste måten er å lese fra standardinngangen, som er en innebygd funksjon. De sys.stdin er en annen måte å lese fra standardinngangen samtalene input () funksjon internt. Python har en annen modul som heter FileInput For å lese standardinngangen. De input () funksjon av denne modulen kan brukes til å lese standardinngang eller lese innhold fra en eller flere filer. Ulike måter å lese fra standardinngangen i Python har blitt forklart i denne opplæringen.

Exampe-1: Les data fra stdin ved å bruke input () -funksjonen

Input () -funksjonen er den mest brukte funksjonen for å ta input fra brukeren. Lag en Python -fil med følgende skript for å ta innspill fra brukeren til 'N' -tasten er trykket på. Her opprettes en uendelig sløyfe ved å bruke While Loop. Den første input () -funksjonen brukes til å ta dataene fra brukeren, og print () -funksjonen brukes til å skrive ut inngangsverdien. Deretter brukes input () -funksjonen til skriptet til å be brukeren fortsette oppgaven igjen eller avslutte fra skriptet. Hvis brukeren trykker på 'n' eller 'n', vil sløyfens iterasjon bli stoppet av bruddserklæringen; Ellers vil sløyfen iterere igjen og ta en annen innspill fra brukeren. Den øvre () -funksjonen brukes i skriptet for å kapitalisere verdien gitt av brukeren.

# Definer en uendelig sløyfe
Mens sant:
# Ta innspill fra brukeren
inputVal = input ("Skriv inn en hvilken som helst tekst: \ n")
# Skriv ut inngangsverdien
Print ("Inngangsverdien er %s" %(inputVal))
# Be om neste iterasjon
nextInput = input ("Vil du fortsette? (Y/n) ")
# Avslutt fra løkken hvis 'n' presses
Hvis NextInput.øvre () == 'n':
gå i stykker
# Skriv ut termineringsmeldingen
trykk ("Program avsluttet.")

Produksjon:

Følgende lignende utdata vises etter å ha utført skriptet ovenfor. Her, 'Linuxhint'har gitt som den første inngangsverdien og avsluttet fra skriptet for å trykke på tegnet,' n '.

Eksempel-2: Les data fra stdin ved å bruke sys.stdin

De sys.stdin er et annet alternativ av Python for å ta standardinngang fra brukerne fra terminalen. Den kaller input () -funksjonen internt og legger til '\ n'Etter å ha tatt innspill. Lag en Python -fil med følgende skript for å sjekke bruken av sys.stdin å ta standardinngang. Her brukes 'for-in' -løyfen til å ta innspill fra brukeren uendelig tid til brukeren ønsker å avslutte skriptet. Etter å ha skrevet ut inngangsverdien, input () funksjon brukes til å be brukeren stoppe skriptet eller ikke. Skriptet blir avsluttet hvis brukeren trykker på 'y'Eller'Y'. De Øvre () -funksjon brukes her også for å kapitalisere inngangsverdien.

# Importer SYS -modul
Importer Sys
trykk ("Skriv inn en hvilken som helst tekst:")
# Ta innspill ved hjelp av stdin
for inputval i sys.stdin:
# Skriv ut inngangsverdien
Print ('Inngangsverdien er: % s' % inputVal)
# Be om neste iterasjon
nextInput = input ("Vil du avslutte? (Y/n) ")
# Avslutt fra sløyfen hvis 'Y/Y' presses
Hvis NextInput.stripe ().øvre () == 'y':
gå i stykker
ellers:
trykk ("Skriv inn en hvilken som helst tekst:")

Produksjon:

Følgende lignende utdata vises etter å ha utført skriptet ovenfor. Her, 'Python -programmering'har gitt som den første inngangsverdien og avsluttet fra skriptet for å trykke på tegnet,' y '.

Eksempel-3: Les data fra STDIN ved å bruke FileInput

FileInput er en annen modul av Python for å ta standardinngang. Tekstlinjene kan hentes fra terminalen eller en fil ved å bruke FileInput.input (). Hvis ingen argumentverdi er gitt i denne funksjonen, vil den ta innspill fra terminalen, og hvis navnet på en eksisterende fil er gitt som en argumentverdi, vil den ta inngangen fra filen. Lag en Python -fil med følgende skript for å ta standardinngang fra terminalen. Her brukes "for-in" -løkken som det forrige eksemplet for å ta innspill i uendelige tider til brukeren ønsker å avslutte skriptet. Deretter brukes input () -funksjonen for å be brukeren stoppe skriptet eller ikke. Skriptet blir avsluttet hvis brukeren skriver 'slutte' eller 'slutte' eller 'slutte'. De Øvre () -funksjon brukes her også for å kapitalisere inngangsverdien. De Strip () -funksjon brukes til å fjerne ekstra mellomrom fra begge sider av inngangsverdien.

# Importer FileInput -modulen
Importer filinput
trykk ("Skriv inn teksten:")
""
Ta innspill ved hjelp av FileInput.input () funksjon og
Trykk CTRL+D for å fullføre å ta inngangsverdien
""
for inputVal i FileInput.input ():
# Avslutt fra sløyfen hvis 'Quit' er skrevet
Hvis inputVal.stripe ().øvre () == "Avslutt":
gå i stykker
# Skriv ut inngangsverdien
Print ("Inngangsverdien er:", InputVal)
trykk ("Skriv inn teksten:")

Produksjon:

Følgende lignende utdata vises etter å ha utført skriptet ovenfor. Her, 'Lær Python fra Linuxhint.com 'har gitt som den første inngangsverdien og avsluttet fra skriptet for å skrive ordet,' Quit '. Du må huske en ting mens du tar innspill fra terminalen ved å bruke FileInput modul. Det vil si at du må trykke på Ctrl+D etter å ha tatt innspillet.

Du må oppgi filnavnet som argumentverdien til FileInput.input () funksjon hvis du vil ta data fra filen i stedet for terminalen.

Konklusjon:

Tre forskjellige måter å ta innspill fra terminalen har blitt vist i denne opplæringen ved å bruke tre enkle eksempler. Det kreves ingen modul for å bruke input () funksjon for å ta innspill. SYS -modulen er pålagt å importere for bruk sys.stdin, og FileInput -modulen er pålagt å importere for bruk FileInput.input () i skriptet for å ta standardinngang. Jeg håper Python -brukerne vil ta standardinngangen basert på deres krav etter å ha lest denne opplæringen.