Kuinka lukea stdinistä Pythonissa

How Read From Stdin Python

Käyttäjän antaman palautteen saaminen on tärkeä osa mitä tahansa ohjelmointikieltä. Monien ohjelmien lähtö riippuu vakiotulosta. Tapa, jolla käyttäjä voi syöttää tietoja, on erilainen eri ohjelmointikielillä. Pythonissa on monia tapoja lukea vakiotulosta. The input () -toiminto on yleisin tapa lukea vakiotulosta, joka on sisäänrakennettu toiminto. The sys.stdin Toinen tapa on lukea puheluja normaalitulosta input () -toiminto sisäisesti. Pythonilla on toinen moduuli nimeltä tiedoston syöttö normaalitulon lukemiseen. The input () -toiminto tämän moduulin avulla voidaan lukea vakiotuloa tai lukea sisältöä yhdestä tai useammasta tiedostosta. Tässä opetusohjelmassa on selitetty erilaisia ​​tapoja lukea Pythonin vakiosyötteestä.

Esimerkki 1: Lue tiedot stdinistä käyttämällä input () -funktiota

Tulo () -toiminto on eniten käytetty toiminto käyttäjän syötteen ottamiseksi. Luo python -tiedosto seuraavalla komentosarjalla, jotta käyttäjä voi syöttää tietoja, kunnes n -näppäintä painetaan. Tässä luodaan ääretön silmukka käyttämällä while -silmukkaa. Ensimmäistä sisääntulotoimintoa () käytetään datan ottamiseen käyttäjältä ja tulostus () -toimintoa käytetään tuloarvon tulostamiseen. Seuraavaksi komentosarjan input () -funktiota käytetään pyytämään käyttäjää jatkamaan tehtävää uudelleen tai poistumaan komentosarjasta. Jos käyttäjä painaa 'n' tai 'N', silmukan iterointi pysäytetään taukolausekkeella; muutoin silmukka toistaa uudelleen ja ottaa toisen syötteen käyttäjältä. Ylä () -funktiota käytetään komentosarjassa käyttäjän antaman arvon isolla alkamisella.



# Määrittele ääretön silmukka

sillä aikaa Totta:

# Ota vastaan ​​käyttäjä

inputVal= tulo('Kirjoita mikä tahansa teksti: n'')

# Tulosta syöttöarvo

Tulosta('Syöttöarvo on %s'%(inputVal))

# Pyydä seuraava iteraatio

seuraavaSyöttö= tulo('Haluatko jatkaa? (K/E) '')

# Lopeta silmukasta, jos painat 'n'

josseuraavaSyöttö.ylempi() == 'N':

tauko

# Tulosta lopetusviesti

Tulosta('Ohjelma lopetettu.')

Lähtö:

Seuraava vastaava tulos tulee näkyviin yllä olevan komentosarjan suorittamisen jälkeen. Tässä, ' LinuxVinkki 'On antanut ensimmäisenä syöttöarvona ja päättänyt komentosarjasta, kun painetaan merkkiä' n '.





Esimerkki 2: Lue tiedot stdinistä käyttämällä sys.stdin

The sys.stdin on toinen Pythonin vaihtoehto ottaa vakiotulo käyttäjiltä päätelaitteelta. Se kutsuu input () -funktiota sisäisesti ja lisää ' n 'Syötteen vastaanottamisen jälkeen. Luo python -tiedosto seuraavalla komentosarjalla, jotta voit tarkistaa sys.stdin vakiotulon ottamiseksi. Tässä for-in-silmukkaa käytetään ottamaan syötteitä käyttäjältä loputtomasti, kunnes käyttäjä haluaa lopettaa komentosarjan. Syöttöarvon tulostamisen jälkeen input () -toiminto käytetään pyytämään käyttäjää lopettamaan komentosarja tai ei. Skripti lopetetaan, jos käyttäjä painaa ' ja 'Tai' JA ’. The ylempi () -toiminto Tässä käytetään myös syöttöarvon isoja kirjaimia.

# Tuo sys -moduuli

tuonti sys


Tulosta('Kirjoita mikä tahansa teksti:')


# Ota syöttö käyttöön käyttämällä stdin -näppäintä

varteninputValsisään sys.stdin:

# Tulosta syöttöarvo

Tulosta('Syöttöarvo on:%s'% inputVal)


# Pyydä seuraava iterointi

seuraavaSyöttö= tulo('Haluatko lopettaa? (K/E) '')

# Lopeta silmukasta, jos painetaan y/Y

josseuraavaSyöttö.nauha().ylempi() == 'JA':

tauko

muu:

Tulosta('Kirjoita mikä tahansa teksti:')

Lähtö:

Seuraava vastaava tulos tulee näkyviin yllä olevan komentosarjan suorittamisen jälkeen. Tässä, ' Python -ohjelmointi 'On antanut ensimmäisenä syöttöarvona ja lopettanut komentosarjan, kun painetaan merkkiä' y '.



Esimerkki 3: Lue tiedot stdin-tiedostosta syöttämällä tiedosto

Tiedostotulo on toinen Python -moduuli vakiotulon ottamiseksi. Tekstirivit voidaan ottaa päätelaitteesta tai tiedostosta käyttämällä fileinput.input () . Jos tässä funktiossa ei ole argumenttiarvoa, se ottaa syötteen päätelaitteesta ja jos olemassa olevan tiedoston nimi annetaan argumentin arvona, se ottaa syötteen tiedostosta. Luo python -tiedosto seuraavalla komentosarjalla ottaaksesi vakiotulon päätelaitteelta. Tässä for-in-silmukkaa käytetään edellisenä esimerkkinä syöttääkseen äärettömän monta kertaa, kunnes käyttäjä haluaa lopettaa komentosarjan. Seuraavaksi input () -toimintoa käytetään pyytämään käyttäjää lopettamaan komentosarja tai ei. Skripti lopetetaan, jos käyttäjä kirjoittaa 'Lopeta' tai 'Lopeta' tai 'LOPETA' . The ylempi () -toiminto Tässä käytetään myös syöttöarvon isoja kirjaimia. The strip () -toiminto käytetään ylimääräisten välilyöntien poistamiseen syöttöarvon molemmilta puolilta.

# Tuo tiedostojen syöttömoduuli

tuonti tiedoston syöttö


Tulosta('Kirjoita teksti:')

'' ''

Ota syöttö käyttöön käyttämällä fileinput.input () -toimintoa ja

paina ctrl+D lopettaaksesi syötetyn arvon

'' ''


varteninputValsisään tiedoston syöttö.tulo():

# Lopeta silmukasta, jos kirjoitat 'lopeta'

josinputVal.nauha().ylempi() == 'LOPETTAA':

tauko


# Tulosta syöttöarvo

Tulosta('Syöttöarvo on:',inputVal)

Tulosta('Kirjoita teksti:')

Lähtö:

Seuraava vastaava tulos tulee näkyviin yllä olevan komentosarjan suorittamisen jälkeen. Tässä 'Learn python from LinuxHint.com' on annettu ensimmäisenä syöttöarvona ja lopetettu skriptistä sanan 'quit' kirjoittamiseksi. Sinun on muistettava yksi asia, kun otat tietoja päätelaitteesta käyttämällä tiedoston syöttö moduuli. Eli sinun on painettava ctrl+d syötteen vastaanottamisen jälkeen.

Sinun on annettava tiedostonimi argumentin arvoksi fileinput.input () -toimintoa, jos haluat ottaa tietoja tiedostosta päätelaitteen sijaan.

Johtopäätös:

Tässä opetusohjelmassa on esitetty kolme eri tapaa syöttää tietoja päätelaitteesta käyttämällä kolmea yksinkertaista esimerkkiä. Moduulia ei tarvita input () -toiminto syötteen ottamiseksi. Sys -moduuli on tuotava käyttöön sys.stdin , ja tiedoston syöttömoduuli on tuotava käyttöön fileinput.input () käsikirjoituksessa, jotta voit ottaa vakiotulon. Toivon, että Python -käyttäjät ottavat vakiotuloksen vaatimustensa perusteella tämän opetusohjelman lukemisen jälkeen.