Ako čítať zo stdin v Pythone

How Read From Stdin Python



Prevzatie vstupu od používateľa je dôležitou súčasťou každého programovacieho jazyka. Výstup mnohých programov závisí od štandardného vstupu. Spôsob prijímania vstupov od používateľa je pre rôzne programovacie jazyky odlišný. V pythone existuje mnoho spôsobov, ako čítať zo štandardného vstupu. The funkcia input () je najbežnejším spôsobom čítanie zo štandardného vstupu, ktorý je vstavanou funkciou. The sys.stdin je ďalším spôsobom čítanie hovorov zo štandardného vstupu funkcia input () vnútorne. Python má ďalší modul s názvom vstup súboru na čítanie štandardného vstupu. The funkcia input () tohto modulu je možné použiť na čítanie štandardného vstupu alebo čítanie obsahu z jedného alebo viacerých súborov. V tomto návode boli vysvetlené rôzne spôsoby čítania zo štandardného vstupu v Pythone.

Príklad 1: Načítanie údajov zo súboru stdin pomocou funkcie input ()

Funkcia input () je najpoužívanejšou funkciou na získanie vstupu od používateľa. Vytvorte súbor pythonu s nasledujúcim skriptom, ktorý bude vstupovať od používateľa, kým nestlačíte kláves „n“. Tu sa pomocou slučky while vytvorí nekonečná slučka. Prvá funkcia input () sa používa na prevzatie údajov od používateľa a funkcia print () sa používa na vytlačenie vstupnej hodnoty. Ďalej sa funkcia input () skriptu použije na požiadanie používateľa, aby pokračoval v úlohe znova alebo aby opustil skript. Ak používateľ stlačí „n“ alebo „N“, iteráciu slučky zastaví príkaz break; v opačnom prípade sa slučka znova opakuje a prevezme ďalší vstup od používateľa. Funkcia upper () sa v skripte používa na veľké písmená hodnoty zadanej používateľom.







# Definujte nekonečnú slučku

kým Pravda:

# Prevezmite vstup od používateľa

inputVal= vstup('Napíšte ľubovoľný text: n')

# Vytlačte vstupnú hodnotu

vytlačiť(„Vstupná hodnota je %s“%(inputVal))

# Požiadajte o ďalšiu iteráciu

nextInput= vstup('Chceš pokračovať? (Á/N) ')

# Ak je stlačené 'n', ukončite cyklus

kebynextInput.horná() == 'N':

prestávka

# Vytlačte správu o ukončení

vytlačiť('Program bol ukončený.')

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci podobný výstup. Tu, ' Linuxová rada ‘Dal ako prvú vstupnú hodnotu a bol ukončený zo skriptu na stlačenie znaku‘ ‘.





Príklad 2: Čítajte údaje zo stdin pomocou sys.stdin

The sys.stdin je ďalšou možnosťou Pythonu prevziať štandardný vstup od používateľov z terminálu. Interne zavolá funkciu input () a pridá „ n „Po zadaní vstupu. Vytvorte súbor pythonu pomocou nasledujúceho skriptu a skontrolujte používanie súboru sys.stdin vziať štandardný vstup. Tu sa slučka „for-in“ používa na nekonečné preberanie vstupu od používateľa, kým používateľ nechce skript ukončiť. Po vytlačení vstupnej hodnoty sa funkcia input () sa používa na požiadanie používateľa, aby skript zastavil alebo nie. Skript bude ukončený, ak používateľ stlačí „ a “Alebo„ A ‘. The horná () funkcia sa tu používa aj na kapitalizáciu vstupnej hodnoty.





# Importujte modul sys

import sys


vytlačiť('Napíšte ľubovoľný text:')


# Vykonajte zadanie pomocou stdin

preinputValv sys.stdin:

# Vytlačte vstupnú hodnotu

vytlačiť(„Vstupná hodnota je:%s“% inputVal)


# Požiadajte o ďalšiu iteráciu

nextInput= vstup(„Chcete skončiť? (Á/N) ')

# Ak je stlačené 'y/Y', ukončite cyklus

kebynextInput.pásik().horná() == „A“:

prestávka

inak:

vytlačiť('Napíšte ľubovoľný text:')

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci podobný výstup. Tu, ' Programovanie v Pythone ‘Zadal ako prvú vstupnú hodnotu a bol ukončený zo skriptu na stlačenie znaku‘ y ’.



Príklad 3: Čítanie údajov zo súboru stdin pomocou príkazu fileinput

Inputinput je ďalším modulom Pythonu, ktorý používa štandardný vstup. Riadky textu je možné prevziať z terminálu alebo zo súboru pomocou fileinput.input () . Ak táto funkcia neposkytuje žiadnu hodnotu argumentu, prevezme vstup z terminálu a ak je ako hodnota argumentu zadaný názov existujúceho súboru, prevezme vstup zo súboru. Vytvorte súbor python s nasledujúcim skriptom, ktorý z terminálu odoberie štandardný vstup. Tu sa slučka „for-in“ používa ako predchádzajúci príklad na nekonečné zadávanie vstupov, kým používateľ nechce skript ukončiť. Ďalej sa funkcia input () používa na požiadanie používateľa, aby skript zastavil alebo nie. Skript bude ukončený, ak používateľ zadá „Ukončiť“ alebo „Ukončiť“ alebo „Ukončiť“ . The horná () funkcia sa tu používa aj na kapitalizáciu vstupnej hodnoty. The funkcia strip () sa používa na odstránenie nadbytočných medzier z oboch strán vstupnej hodnoty.

# Importujte modul vstupu súboru

import vstup súboru


vytlačiť(„Zadajte text:“)

'' '

Vstup vykonajte pomocou funkcie fileinput.input () a

stlačením ctrl+D dokončite zadávanie vstupnej hodnoty

'' '


preinputValv vstup súboru.vstup():

# Ak je napísané „quit“, ukončite cyklus

kebyinputVal.pásik().horná() == 'Ukončiť':

prestávka


# Vytlačte vstupnú hodnotu

vytlačiť(„Vstupná hodnota je:“,inputVal)

vytlačiť(„Zadajte text:“)

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci podobný výstup. Tu „Learn python from LinuxHint.com“ uviedol ako prvú vstupnú hodnotu a bol ukončený zo skriptu na zadanie slova „quit“. Pri vstupe z terminálu pomocou vstup súboru modul. To znamená, že po zadaní vstupu musíte stlačiť ctrl+d.

Musíte zadať názov súboru ako hodnotu argumentu súboru fileinput.input () funkciu, ak chcete namiesto terminálu prijímať údaje zo súboru.

Záver:

V tomto návode boli pomocou troch jednoduchých príkladov ukázané tri rôzne spôsoby získavania vstupu z terminálu. Na používanie súboru nie je potrebný žiadny modul funkcia input () za prevzatie vstupu. Na import je potrebné použiť modul sys sys.stdin , a modul vstupu súborov je potrebné importovať na použitie fileinput.input () v skripte, aby prevzal štandardný vstup. Dúfam, že používatelia Pythonu po prečítaní tohto tutoriálu prevezmú štandardný vstup na základe svojich požiadaviek.