Hur man läser från stdin i Python

How Read From Stdin Python



Ta input från användaren är en viktig del av alla programmeringsspråk. Utmatningen från de många programmen beror på standardingången. Sättet att ta in input från användaren är olika för olika programmeringsspråk. Det finns många sätt i python att läsa från standardingången. De input () -funktion är det vanligaste sättet att läsa från standardingången, som är en inbyggd funktion. De sys.stdin är ett annat sätt att läsa samtalen från standardingången input () -funktion internt. Python har en annan modul som heter filinmatning för att läsa standardingången. De input () -funktion av denna modul kan användas för att läsa standardinmatning eller läsa innehåll från en eller flera filer. Olika sätt att läsa från standardingången i Python har förklarats i denna handledning.

Exampe-1: Läs data från stdin med hjälp av input () -funktionen

Input () -funktionen är den mest använda funktionen för att ta input från användaren. Skapa en pythonfil med följande skript för att ta input från användaren tills ‘n’ -knappen trycks in. Här skapas en oändlig slinga med hjälp av medan -slingan. Den första input () -funktionen används för att ta data från användaren, och funktionen print () används för att skriva ut inmatningsvärdet. Därefter används inmatningsfunktionen () för skriptet för att be användaren att fortsätta uppgiften igen eller lämna skriptet. Om användaren trycker på 'n' eller 'N', kommer loopens iteration att stoppas av break -satsen; annars kommer slingan att iterera igen och ta ytterligare en input från användaren. Funktionen upper () används i skriptet för att aktivera det värde som användaren anger.







# Definiera en oändlig slinga

medan Sann:

# Ta input från användaren

inputVal= inmatning('Skriv vilken text som helst: n')

# Skriv ut inmatningsvärdet

skriva ut('Ingångsvärdet är %s'%(inputVal))

# Be om nästa iteration

nästa inmatning= inmatning('Vill du fortsätta? (J/N) ')

# Avsluta från slingan om 'n' trycks in

omnästa inmatning.övre() == 'N':

ha sönder

# Skriv ut uppsägningsmeddelandet

skriva ut('Programmet avslutat.')

Produktion:

Följande liknande utdata visas efter att ovanstående skript har körts. Här, ' LinuxHint 'Har gett som det första inmatningsvärdet och avslutats från manuset för att trycka på tecknet' n '.





Exempel 2: Läs data från stdin med sys.stdin

De sys.stdin är ett annat alternativ för Python för att ta standardinmatning från användarna från terminalen. Det kallar input () -funktionen internt och lägger till ' n 'Efter att ha tagit insatsen. Skapa en pythonfil med följande skript för att kontrollera användningen av sys.stdin att ta standardinmatning. Här används 'för-in'-slingan för att ta inmatningen från användaren oändliga gånger tills användaren vill avsluta skriptet. Efter att ha skrivit in inmatningsvärdet, kommer input () -funktion används för att be användaren att stoppa skriptet eller inte. Skriptet avslutas om användaren trycker på ' och 'Eller' OCH ’. De övre () funktion används här också för att aktivera ingångsvärdet.





# Importera sys -modul

importera sys


skriva ut('Skriv någon text:')


# Ta in input med stdin

förinputVali sys.stdin:

# Skriv ut inmatningsvärdet

skriva ut('Ingångsvärdet är:%s'% inputVal)


# Be om nästa iteration

nästa inmatning= inmatning('Vill du säga upp? (J/N) ')

# Avsluta från slingan om 'y/Y' trycks in

omnästa inmatning.remsa().övre() == 'OCH':

ha sönder

annan:

skriva ut('Skriv någon text:')

Produktion:

Följande liknande utdata visas efter att ovanstående skript har körts. Här, ' Python -programmering 'Har gett som det första inmatningsvärdet och avslutats från manuset för att trycka på tecknet' y '.



Exempel-3: Läs data från stdin med hjälp av fileinput

Filinmatningen är en annan modul för Python för att ta standardinmatning. Textraderna kan tas från terminalen eller en fil med fileinput.input () . Om inget argumentvärde tillhandahålls i den här funktionen, kommer det att ta input från terminalen och om namnet på en befintlig fil anges som ett argumentvärde, tar det input från filen. Skapa en pythonfil med följande skript för att ta standardinmatning från terminalen. Här används 'för-in'-slingan som föregående exempel för att ta inmatning i oändliga tider tills användaren vill avsluta skriptet. Därefter används input () -funktionen för att be användaren att stoppa skriptet eller inte. Skriptet avslutas om användaren skriver 'Sluta' eller 'Avsluta' eller 'SLUTA' . De övre () funktion används här också för att aktivera ingångsvärdet. De strip () -funktion används för att ta bort de extra mellanslagen från båda sidor av inmatningsvärdet.

# Importera filinmatningsmodul

importera filinmatning


skriva ut('Ange texten:')

'' '

Ta in input med funktionen fileinput.input () och

tryck på ctrl+D för att avsluta inmatningsvärdet

'' '


förinputVali filinmatning.inmatning():

# Avsluta från slingan om 'avsluta' skrivs

ominputVal.remsa().övre() == 'SLUTA MED':

ha sönder


# Skriv ut inmatningsvärdet

skriva ut('Ingångsvärdet är:',inputVal)

skriva ut('Ange texten:')

Produktion:

Följande liknande utdata visas efter att ovanstående skript har körts. Här har 'Lär dig python från LinuxHint.com' gett det första ingångsvärdet och avslutats från manuset för att skriva ordet 'avsluta'. Du måste komma ihåg en sak när du tar input från terminalen med filinmatning modul. Det vill säga att du måste trycka på ctrl+d efter att du tagit inmatningen.

Du måste ange filnamnet som argumentvärdet för fileinput.input () funktion om du vill ta data från filen istället för terminalen.

Slutsats:

Tre olika sätt att ta input från terminalen har visats i denna handledning med hjälp av tre enkla exempel. Ingen modul krävs för att använda input () -funktion för att ta input. Sys -modulen måste importeras för användning sys.stdin , och den filinmatningsmodul måste importeras för användning fileinput.input () i skriptet för att ta standardinmatning. Jag hoppas att Python -användare kommer att ta standardinmatningen baserat på deras krav efter att ha läst den här självstudien.