Hvordan lese fra stdin i Python

How Read From Stdin 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 å lese fra standardinngangen, som er en innebygd funksjon. De sys.stdin er en annen måte å lese samtalene fra standardinngangen input () -funksjon internt. Python har en annen modul som heter filinngang for å lese standardinngangen. De input () -funksjon av denne modulen kan brukes til å lese standard input eller lese innhold fra en eller flere filer. Ulike måter å lese fra standardinngangen i Python har blitt forklart i denne opplæringen.

Eksempel-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 input fra brukeren til ‘n’ -tasten trykkes. Her opprettes en uendelig sløyfe ved å bruke mensløkken. Den første input () -funksjonen brukes til å ta dataene fra brukeren, og print () -funksjonen brukes til å skrive ut input -verdien. Deretter brukes inndatafunksjonen () til skriptet for å be brukeren om å fortsette oppgaven igjen eller gå ut av skriptet. Hvis brukeren trykker på 'n' eller 'N', vil loopens iterasjon bli stoppet av break -setningen; Ellers vil sløyfen iterere igjen og ta ytterligere input fra brukeren. Funksjonen øvre () brukes i skriptet for å kapitalisere verdien gitt av brukeren.







# Definer en uendelig sløyfe

samtidig som ekte:

# Ta innspill fra brukeren

inputVal= input('Skriv inn hvilken som helst tekst: n')

# Skriv ut inngangsverdien

skrive ut('Inngangsverdien er %s'%(inputVal))

# Be om neste iterasjon

neste Inngang= input('Vil du fortsette? (Y/N) ')

# Avslutt fra sløyfen hvis du trykker på 'n'

hvisneste Inngang.øverste() == 'N':

gå i stykker

# Skriv ut avslutningsmeldingen

skrive ut('Programmet avsluttet.')

Produksjon:

Følgende lignende utdata vises etter at skriptet ovenfor er utført. Her, ' LinuxHint 'Har gitt som den første inngangsverdien og avsluttet fra manuset for å trykke på tegnet,' n '.





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

De sys.stdin er et annet alternativ for Python for å ta standard input fra brukerne fra terminalen. Den kaller input () -funksjonen internt og legger til ' n 'Etter å ha tatt innspillet. Opprett en python -fil med følgende skript for å kontrollere bruken av sys.stdin for å ta standardinngang. Her brukes 'for-in'-løkken for å ta input fra brukeren uendelige ganger til brukeren ønsker å avslutte skriptet. Etter at du har skrevet ut inngangsverdien, vil input () -funksjon brukes til å be brukeren om å stoppe skriptet eller ikke. Skriptet avsluttes hvis brukeren trykker på ‘ og 'Eller' OG '. De øvre () -funksjon brukes her også for å kapitalisere inngangsverdien.





# Importer sys -modul

import sys


skrive ut('Skriv inn hvilken som helst tekst:')


# Ta innspill ved hjelp av stdin

tilinputVali sys.stdin:

# Skriv ut inngangsverdien

skrive ut('Inngangsverdien er:%s'% inputVal)


# Be om neste iterasjon

neste Inngang= input('Vil du avslutte? (Y/N) ')

# Avslutt fra sløyfen hvis du trykker på 'y/Y'

hvisneste Inngang.stripe().øverste() == 'OG':

gå i stykker

ellers:

skrive ut('Skriv inn hvilken som helst tekst:')

Produksjon:

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



Eksempel-3: Les data fra stdin ved å bruke fileinput

Fileinput er en annen modul i Python for å ta standard input. Tekstlinjene kan tas fra terminalen eller en fil ved å bruke fileinput.input () . Hvis det ikke er angitt noen argumentverdi i denne funksjonen, vil den ta input fra terminalen, og hvis navnet på en eksisterende fil er angitt som en argumentverdi, vil den ta input fra filen. Lag en python -fil med følgende skript for å ta standard input fra terminalen. Her brukes 'for-in'-løkken som det forrige eksemplet for å ta input for uendelige ganger til brukeren ønsker å avslutte skriptet. Deretter brukes input () -funksjonen til å be brukeren om å stoppe skriptet eller ikke. Skriptet avsluttes hvis brukeren skriver 'Avslutt' eller 'Avslutt' eller 'SLUT' . De øvre () -funksjon brukes her også for å kapitalisere inngangsverdien. De strip () -funksjon brukes til å fjerne ekstra mellomrom fra begge sider av inngangsverdien.

# Importer filinnmatingsmodul

import filinngang


skrive ut('Skriv inn teksten:')

'' '

Ta innspill ved hjelp av fileinput.input () -funksjonen og

trykk ctrl+D for å fullføre inntaksverdien

'' '


tilinputVali filinngang.input():

# Avslutt fra løkken hvis 'avslutt' er skrevet

hvisinputVal.stripe().øverste() == 'SLUTTE':

gå i stykker


# Skriv ut inngangsverdien

skrive ut('Inndataverdien er:',inputVal)

skrive ut('Skriv inn teksten:')

Produksjon:

Følgende lignende utdata vises etter at skriptet ovenfor er utført. Her har 'Lær python fra LinuxHint.com' gitt som den første inngangsverdien og avsluttet fra skriptet for å skrive ordet 'avslutt'. Du må huske en ting mens du tar input fra terminalen ved hjelp av filinngang modul. Det vil si at du må trykke ctrl+d etter at du har tatt inndata.

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

Konklusjon:

Tre forskjellige måter å ta input fra terminalen har blitt vist i denne opplæringen ved å bruke tre enkle eksempler. Ingen modul er nødvendig for å bruke input () -funksjon for å ta innspill. Sys -modulen må importeres for bruk sys.stdin , og filinnmatingsmodul er nødvendig for å 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.