Kuidas lugeda stdinist Pythonis

How Read From Stdin Python

Kasutaja sisendi võtmine on iga programmeerimiskeele oluline osa. Paljude programmide väljund sõltub standardsisendist. Kasutaja sisendi vastuvõtmise viis on erinevate programmeerimiskeelte puhul erinev. Pythonis on standardsisendist lugemiseks palju võimalusi. The input () funktsioon on kõige tavalisem viis lugeda standardsisendist, mis on sisseehitatud funktsioon. The sys.stdin Teine võimalus on lugeda kõnesid standardsisendist input () funktsioon sisemiselt. Pythonil on veel üks moodul nimega failisisend standardsisendi lugemiseks. The input () funktsioon Seda moodulit saab kasutada standardsisendi lugemiseks või ühe või mitme faili sisu lugemiseks. Selles õpetuses on selgitatud erinevaid viise Pythoni standardsisendist lugemiseks.

Näide 1: lugege stdin-i andmeid, kasutades funktsiooni input ()

Funktsioon input () on enimkasutatav funktsioon kasutajalt sisendi vastuvõtmiseks. Looge järgmise skriptiga python -fail, et võtta kasutajalt sisendit, kuni klahvi „n” vajutatakse. Siin luuakse while -silmuse abil lõpmatu silmus. Esimest sisend () funktsiooni kasutatakse kasutajatelt andmete võtmiseks ja printimise () funktsiooni sisendväärtuse printimiseks. Järgmisena kasutatakse skripti funktsiooni input (), et paluda kasutajal ülesannet uuesti jätkata või skriptist väljuda. Kui kasutaja vajutab 'n' või 'N', peatatakse silmuse iteratsioon katkestusavaldusega; vastasel juhul kordub tsükkel uuesti ja võtab kasutajalt teise sisendi. Funktsiooni ülemist () kasutatakse skriptis kasutaja antud väärtuse suurtähtede kasutamiseks.



# Määratle lõpmatu silmus

samas Tõsi:

# Võtke kasutajalt sisend

inputVal= sisend('Sisestage mis tahes tekst: n')

# Printige sisestatud väärtus

printida('Sisendväärtus on %s'%(inputVal))

# Küsige järgmist iteratsiooni

nextInput= sisend('Kas sa tahad jätkata? (Jah/ei) ”)

# Lõpetage tsüklist, kui vajutate 'n'

kuinextInput.ülemine() == 'N':

murda

# Printige lõpetamisteade

printida('Programm on lõpetatud.')

Väljund:

Pärast ülaltoodud skripti täitmist ilmub järgmine sarnane väljund. Siin, ' LinuxHint „On andnud esimese sisendväärtusena ja lõpetanud skripti, vajutades märki„ n ”.





Näide-2: lugege stdin-i andmeid, kasutades süsteemi sys.stdin

The sys.stdin on veel üks Pythoni võimalus võtta kasutajatelt standardset sisendit terminalist. See kutsub sisendi () funktsiooni sisemiselt ja lisab ' n „Pärast sisendi võtmist. Looge python -fail järgmise skriptiga, et kontrollida selle kasutamist sys.stdin standardse sisendi võtmiseks. Siin kasutatakse for-in-tsüklit kasutaja sisendite võtmiseks lõputult mitu korda, kuni kasutaja soovib skripti lõpetada. Pärast sisendväärtuse printimist kuvatakse input () funktsioon kasutatakse, et paluda kasutajal skript peatada või mitte. Skript lõpetatakse, kui kasutaja vajutab nuppu „ ja 'Või' JA ‘. The ülemine () funktsioon kasutatakse siin ka sisendväärtuse suurtäheks.

# Impordi sys moodul

import sys


printida('Sisestage mis tahes tekst:')


# Võtke sisestust kasutades stdin

eestinputValsisse sys.stdin:

# Printige sisestatud väärtus

printida('Sisendväärtus on:%s'% inputVal)


# Küsige järgmist iteratsiooni

nextInput= sisend('Kas soovite lõpetada? (Jah/ei) ”)

# Lõpetage tsüklist, kui vajutate y/Y

kuinextInput.riba().ülemine() == 'JA':

murda

muidu:

printida('Sisestage mis tahes tekst:')

Väljund:

Pärast ülaltoodud skripti täitmist ilmub järgmine sarnane väljund. Siin, ' Pythoni programmeerimine „On andnud esimese sisendväärtusena ja lõpetanud skripti, vajutades märki„ y ”.



Näide-3: lugege stdin-i andmeid, kasutades failisisestust

Failisisend on teine ​​Pythoni moodul standardsisendi vastuvõtmiseks. Teksti ridu saab terminalist või failist kasutada, kasutades fileinput.input () . Kui selles funktsioonis pole argumendi väärtust esitatud, võtab see terminalilt sisendi ja kui argumendi väärtuseks on olemasoleva faili nimi, võtab see sisendi failist. Terminalist standardsisendi saamiseks looge järgmise skriptiga pythoni fail. Siin kasutatakse eelneva näitena sisestustsüklit, et sisestada lõpmatu aja jooksul, kuni kasutaja soovib skripti lõpetada. Järgmisena kasutatakse funktsiooni input (), et paluda kasutajal skript peatada või mitte. Skript lõpetatakse, kui kasutaja kirjutab 'Lõpetage' või 'Lõpeta' või 'LÕPETA' . The ülemine () funktsioon kasutatakse siin ka sisendväärtuse suurtäheks. The riba () funktsioon kasutatakse lisaväljade eemaldamiseks sisendväärtuse mõlemalt küljelt.

# Impordi failisisestusmoodul

import failisisend


printida('Sisestage tekst:')

'' '

Sisestage funktsioon fileinput.input () ja

sisendväärtuse võtmise lõpetamiseks vajutage klahvikombinatsiooni ctrl+D

'' '


eestinputValsisse failisisend.sisend():

# Lõpetage tsüklist, kui sisestate 'quit'

kuiinputVal.riba().ülemine() == 'LÕPETA':

murda


# Printige sisestatud väärtus

printida('Sisendi väärtus on:',inputVal)

printida('Sisestage tekst:')

Väljund:

Pärast ülaltoodud skripti täitmist ilmub järgmine sarnane väljund. Siin on „Õppige pythonit saidilt LinuxHint.com” esimese sisendväärtusena ja lõpetage sõna „quit” sisestamise skripti järgi. Terminalist sisendi vastuvõtmisel peate meeles pidama ühte asja failisisend moodul. See tähendab, et pärast sisendi võtmist peate vajutama klahvikombinatsiooni ctrl+d.

Argumendi väärtuseks peate esitama failinime fileinput.input () funktsiooni, kui soovite terminali asemel failist andmeid võtta.

Järeldus:

Selles juhendis on näidatud kolme lihtsat näidet kasutades kolme erinevat võimalust terminalist sisendi saamiseks. Selle kasutamiseks pole vaja moodulit input () funktsioon sisendi võtmise eest. Sys moodul on kasutamiseks vajalik importida sys.stdin , ja failisisestusmoodul kasutamiseks on vaja importida fileinput.input () skripti standardse sisendi saamiseks. Loodan, et Pythoni kasutajad võtavad pärast selle õpetuse lugemist oma nõudmistele tuginedes standardsisendi.