Hogyan olvashatunk a stdin -ből a Pythonban

How Read From Stdin Python



Bármely programozási nyelv fontos részét képezi a felhasználói bevétel. A sok program kimenete a szabványos bemeneten múlik. A felhasználótól a beviteli mód különböző programozási nyelvek esetén eltérő. A pythonban sokféle módon lehet olvasni a standard bemenetről. Az input () függvény a leggyakoribb módja a szabványos bemenetről történő olvasás, amely egy beépített funkció. Az sys.stdin egy másik módja a szabványos bemenetről olvasni a hívásokat input () függvény belsőleg. A Pythonnak van egy másik modulja fájlbevitel a standard bemenet olvasásához. Az input () függvény a modul szabványos bemenetének olvasására vagy tartalom olvasására használható egy vagy több fájlból. Ebben az oktatóanyagban a Python szabványos bemenetéről való különböző olvasási módokat ismertettük.

1. példa: Olvassa el az adatokat az stdin-ből az input () függvény használatával

A bemenet () függvény a leggyakrabban használt funkció a felhasználótól származó adatok átvételéhez. Hozzon létre egy python -fájlt a következő parancsfájl segítségével, amely a felhasználótól az „n” gomb megnyomásáig vesz fel adatokat. Itt a while ciklus használatával végtelen ciklus jön létre. Az első bemeneti () függvény az adatok átvételére szolgál a felhasználótól, a print () függvény pedig a bemeneti érték nyomtatására. Ezután a szkript input () függvényét használjuk arra, hogy megkérjük a felhasználót, hogy folytassa a feladatot, vagy lépjen ki a szkriptből. Ha a felhasználó megnyomja az „n” vagy az „N” gombot, a ciklus iterációját a break utasítás leállítja; ellenkező esetben a ciklus újra megismétlődik, és újabb bemenetet vesz fel a felhasználótól. A felső () függvény a parancsfájlban a felhasználó által megadott érték nagybetűs írására szolgál.







# Határozzon meg egy végtelen ciklust

míg Igaz:

# Fogadja el a felhasználó véleményét

inputVal= bemenet('Írjon be bármilyen szöveget: n')

# Nyomtassa ki a beviteli értéket

nyomtatás('A bemeneti érték %s'%(inputVal))

# Kérje a következő iterációt

nextInput= bemenet('Akarod folytatni? (I/N) ”)

# Ha az „n” gombot megnyomja, fejezze be a ciklusból

hanextInput.felső() == 'N':

szünet

# Nyomtassa ki a felmondási üzenetet

nyomtatás('A program befejeződött.')

Kimenet:

A következő hasonló kimenet jelenik meg a fenti szkript végrehajtása után. Itt, ' LinuxTipp 'Az első bemeneti értéket adta meg, és befejezte a szkriptből az' n 'karakter megnyomását.





2. példa: Olvassa el az stdin adatait a sys.stdin használatával

Az sys.stdin egy másik lehetőség a Python számára, hogy szabványos bemenetet vegyen fel a felhasználóktól a terminálról. Belsőleg meghívja az input () függvényt, és hozzáteszi: n 'Az adatfelvétel után. Hozzon létre egy python fájlt a következő parancsfájllal a használatának ellenőrzéséhez sys.stdin szabványos adatbevitelre. Itt a „for-in” ciklus végtelen ideig veszi a felhasználótól a bemenetet, amíg a felhasználó le akarja fejezni a szkriptet. A bemeneti érték kinyomtatása után a input () függvény arra szolgál, hogy megkérje a felhasználót, hogy állítsa le a szkriptet, vagy sem. A szkript megszűnik, ha a felhasználó megnyomja a ' és 'Vagy' ÉS ’. Az felső () függvény itt is a bemeneti érték nagybetűs írására szolgál.





# Importálja a sys modult

import sys


nyomtatás('Írjon be bármilyen szöveget:')


# Vedd be az adatokat az stdin használatával

számárainputValban ben sys.stdin:

# Nyomtassa ki a beviteli értéket

nyomtatás('A bemeneti érték:%s'% inputVal)


# Kérje a következő iterációt

nextInput= bemenet('Fel akarod fejezni? (I/N) ”)

# Ha az 'y/Y' gombot megnyomja, fejezze be a ciklusból

hanextInput.szalag().felső() == 'ÉS':

szünet

más:

nyomtatás('Írjon be bármilyen szöveget:')

Kimenet:

A következő hasonló kimenet jelenik meg a fenti szkript végrehajtása után. Itt, ' Python programozás 'Az első bemeneti értéket adta meg, és befejezte a szkriptből az' y 'karakter megnyomását.



3. példa: Olvassa el az adatokat az stdin-ből fájlbevitel használatával

A fájlbemenet a Python egy másik modulja, amely szabványos bemenetet vesz fel. A szövegsorok a terminálról vagy fájlból vehetők le a használatával fileinput.input () . Ha ebben a függvényben nincs megadva argumentumérték, akkor a termináltól veszi a bemenetet, és ha egy létező fájl nevét adja meg argumentumértékként, akkor a fájlt. Hozzon létre egy python fájlt a következő parancsfájllal, hogy szabványos bemenetet vegyen a terminálról. Itt a „for-in” hurkot használjuk előző példaként, hogy végtelen ideig bemenetet kapjunk, amíg a felhasználó le akarja fejezni a szkriptet. Ezután az input () függvény segítségével meg kell kérni a felhasználót, hogy állítsa le a szkriptet, vagy sem. A szkript leáll, ha a felhasználó gépel „Kilép”, „kilép” vagy „kilép” . Az felső () függvény itt is a bemeneti érték nagybetűs írására szolgál. Az strip () függvény a bemeneti érték mindkét oldaláról a felesleges szóközök eltávolítására szolgál.

# Fájlbeviteli modul importálása

import fájlbevitel


nyomtatás('Írja be a szöveget:')

'' ''

A bemenetet a fileinput.input () függvénnyel és

nyomja meg a ctrl+D gombot a bevitt érték befejezéséhez

'' ''


számárainputValban ben fájlbevitel.bemenet():

# Fejezze be a ciklusból, ha beírja a 'quit' parancsot

hainputVal.szalag().felső() == 'KILÉPÉS':

szünet


# Nyomtassa ki a beviteli értéket

nyomtatás('A bemeneti érték:',inputVal)

nyomtatás('Írja be a szöveget:')

Kimenet:

A következő hasonló kimenet jelenik meg a fenti szkript végrehajtása után. Itt a „Learn python from LinuxHint.com” első beviteli értéket adott meg, és a „quit” szó begépelése után befejeződött a szkriptből. Egy dologra emlékeznie kell, miközben a terminálról a fájlbevitel modul. Vagyis a bevitelt követően meg kell nyomni a ctrl+d billentyűkombinációt.

Meg kell adnia a fájlnevet az argumentum értékeként fileinput.input () funkciót, ha a terminál helyett a fájlból akar adatokat venni.

Következtetés:

Ebben az oktatóanyagban három egyszerű példán keresztül három különböző módot mutatunk be a terminálról. A használatához nincs szükség modulra input () függvény a bemenet felvételéhez. A sys modult importálni kell a használathoz sys.stdin , és a fájlbeviteli modul használatához importálni kell fileinput.input () a szkriptben, hogy szabványos bemenetet vegyen fel. Remélem, hogy a Python -felhasználók az oktatóanyag elolvasása után igényeiknek megfelelően fogják használni a szabványos bemenetet.