Kako brati iz stdin v Pythonu

How Read From Stdin Python



Vnos uporabnika je pomemben del vsakega programskega jezika. Izhod številnih programov je odvisen od standardnega vhoda. Način vnosa podatkov od uporabnika je za različne programske jezike drugačen. V pythonu obstaja veliko načinov za branje iz standardnega vnosa. The funkcija input () je najpogostejši način branja s standardnega vhoda, ki je vgrajena funkcija. The sys.stdin Drug način je, da iz standardnega vhoda preberete klice funkcija input () notranje. Python ima še en modul z imenom vnos datoteke za branje standardnega vhoda. The funkcija input () tega modula lahko uporabite za branje standardnega vnosa ali branje vsebine iz ene ali več datotek. V tej vadnici so bili razloženi različni načini branja s standardnega vnosa v Pythonu.

Primer 1: Preberite podatke iz stdin s funkcijo input ()

Funkcija input () je najpogosteje uporabljena funkcija za vnos od uporabnika. Ustvarite datoteko python z naslednjim skriptom, da vnesete podatke od uporabnika, dokler ne pritisnete tipke 'n'. Tu z uporabo zanke while nastane neskončna zanka. Prva funkcija input () se uporablja za odvzem podatkov od uporabnika, funkcija print () pa za tiskanje vhodne vrednosti. Nato se funkcija input () skripta uporabi za prošnjo uporabnika, naj znova nadaljuje nalogo ali izstopi iz skripta. Če uporabnik pritisne 'n' ali 'N', bo iteracijo zanke ustavil stavek break; v nasprotnem primeru bo zanka znova ponavljala in od uporabnika vzela še en vnos. Funkcija upper () se v skriptu uporablja za pisanje velike vrednosti uporabnika.







# Določite neskončno zanko

medtem Prav:

# Vzemite vnos od uporabnika

inputVal= vnos('Vnesite poljubno besedilo: n')

# Natisnite vhodno vrednost

tiskanje('Vhodna vrednost je %s'%(inputVal))

# Vprašajte za naslednjo ponovitev

nextInput= vnos('Ali želite nadaljevati? (D/N) ')

# Končajte iz zanke, če pritisnete 'n'

čenextInput.zgornji() == 'N':

prekiniti

# Natisnite sporočilo o prekinitvi

tiskanje('Program zaključen.')

Izhod:

Po izvedbi zgornjega skripta se prikaže naslednji podoben izhod. Tukaj, ' LinuxHint 'Je dal kot prvo vhodno vrednost in se končal iz skripta za pritisk znaka,' n '.





Primer 2: Preberite podatke iz stdin z uporabo sys.stdin

The sys.stdin je še ena možnost Pythona, da vzame standardni vnos od uporabnikov iz terminala. Interno pokliče funkcijo input () in doda ' n 'Po vnosu. Ustvarite datoteko python z naslednjim skriptom, da preverite uporabo datoteke sys.stdin za standardni vnos. Tu se zanka „for-in“ uporablja za neskončno vnos vnosa od uporabnika, dokler uporabnik ne želi prekiniti skripta. Po tiskanju vhodne vrednosti se funkcija input () se uporablja za zahtevo od uporabnika, naj ustavi skript ali ne. Skript bo prekinjen, če uporabnik pritisne » in 'Ali' IN ‘. The zgornja () funkcija se tukaj uporablja tudi za uporabo velikih začetnih vrednosti.





# Uvozi sys modul

uvoz sys


tiskanje('Vnesite poljubno besedilo:')


# Vnesite vnos s stdin

zainputValv sys.stdin:

# Natisnite vhodno vrednost

tiskanje('Vhodna vrednost je:%s'% inputVal)


# Vprašajte za naslednjo ponovitev

nextInput= vnos('Ali želite prekiniti? (D/N) ')

# Končajte iz zanke, če pritisnete 'y/Y'

čenextInput.trak().zgornji() == 'IN':

prekiniti

drugače:

tiskanje('Vnesite poljubno besedilo:')

Izhod:

Po izvedbi zgornjega skripta se prikaže naslednji podoben izhod. Tukaj, ' Python programiranje 'Je dal kot prvo vhodno vrednost in je bil zaključen iz skripta za pritisk na znak' y '.



Primer 3: Preberite podatke iz stdin z uporabo fileinput

Fileinput je še en modul Pythona, ki sprejema standardni vnos. Vrstice besedila lahko vzamete iz terminala ali datoteke z uporabo fileinput.input () . Če v tej funkciji ni podana nobena vrednost argumenta, bo prevzela vnos iz terminala, in če je ime obstoječe datoteke podano kot vrednost argumenta, bo vzela vnos iz datoteke. Ustvarite datoteko python z naslednjim skriptom, da vzamete standardni vnos iz terminala. Tu se zanka „for-in“ uporablja kot prejšnji primer za vnos neskončnih časov, dokler uporabnik ne želi prekiniti skripta. Nato se funkcija input () uporabnika prosi, naj skript ustavi ali ne. Skript bo prekinjen, če uporabnik vnese 'Quit' ali 'Quit' ali 'QUIT' . The zgornja () funkcija se tukaj uporablja tudi za uporabo velikih začetnih vrednosti. The strip () funkcija se uporablja za odstranitev dodatnih presledkov z obeh strani vhodne vrednosti.

# Uvozi modul za vnos datotek

uvoz vnos datoteke


tiskanje('Vnesite besedilo:')

'' '

Vnesite vnos s funkcijo fileinput.input () in

pritisnite ctrl+D, da končate z vnosom vrednosti

'' '


zainputValv vnos datoteke.vnos():

# Končajte iz zanke, če je vpisano 'quit'

čeinputVal.trak().zgornji() == 'PRENEHATI':

prekiniti


# Natisnite vhodno vrednost

tiskanje('Vhodna vrednost je:',inputVal)

tiskanje('Vnesite besedilo:')

Izhod:

Po izvedbi zgornjega skripta se prikaže naslednji podoben izhod. Tukaj je 'Learn python from LinuxHint.com' podalo kot prvo vhodno vrednost in končalo iz skripta za vnos besede 'quit'. Med vnosom podatkov iz terminala z uporabo vnos datoteke modul. To pomeni, da morate po vnosu pritisniti ctrl+d.

Kot vrednost argumenta datoteke morate podati ime datoteke fileinput.input () funkcijo, če želite vzeti podatke iz datoteke namesto iz terminala.

Zaključek:

V tej vadnici so bili prikazani trije različni načini za vnos informacij s terminala z uporabo treh preprostih primerov. Za uporabo funkcija input () za vnos vnosa. Za uporabo je potreben uvoz modula sys sys.stdin , in modul za vnos datotek je za uporabo potrebno uvoziti fileinput.input () v skriptu za standardni vnos. Upam, da bodo uporabniki Pythona po branju te vadnice vzeli standardni vnos glede na njihove zahteve.