Paano Magbasa mula sa stdin sa Python

How Read From Stdin Python



Kumuha ng input mula sa gumagamit ay isang mahalagang bahagi ng anumang wika ng programa. Ang output ng maraming mga programa ay nakasalalay sa karaniwang input. Ang paraan ng pagkuha ng input mula sa gumagamit ay naiiba para sa iba't ibang mga wika ng programa. Maraming mga paraan ang umiiral sa sawa upang mabasa mula sa karaniwang input. Ang pag-andar ng input () ay ang pinaka-karaniwang paraan ay upang basahin mula sa karaniwang input, na kung saan ay isang built-in na function. Ang sys.stdin ay isa pang paraan ay upang basahin mula sa karaniwang input ang mga tawag pag-andar ng input () panloob Ang Python ay may isa pang module na pinangalanan fileinput para sa pagbabasa ng karaniwang input. Ang pag-andar ng input () ng modyul na ito ay maaaring magamit upang mabasa ang karaniwang input o basahin ang nilalaman mula sa isa o higit pang mga file. Ang iba't ibang mga paraan upang mabasa mula sa karaniwang input sa Python ay naipaliwanag sa tutorial na ito.

Sumusunode-1: Basahin ang data mula sa stdin sa pamamagitan ng paggamit ng pag-andar ng input ()

Ang pagpapaandar na input () ay ang pinaka ginagamit na pag-andar upang kumuha ng input mula sa gumagamit. Lumikha ng isang python file na may sumusunod na script upang kumuha ng input mula sa gumagamit hanggang sa mapindot ang 'n' key. Dito, isang infinite loop ay nilikha sa pamamagitan ng paggamit ng habang loop. Ang unang pag-andar () na pag-andar ay ginagamit upang kunin ang data mula sa gumagamit, at ang pagpapa-print na () pagpapaandar ay ginagamit upang mai-print ang halaga ng pag-input. Susunod, ang pag-andar ng input () ng script ay ginagamit upang hilingin sa gumagamit na ipagpatuloy ang gawain muli o lumabas mula sa script. Kung pinindot ng gumagamit ang 'n' o 'N', ang pag-ulit ng loop ay ihihinto ng pahayag ng break; kung hindi man, ang loop ay uulit ulit at kukuha ng isa pang input mula sa gumagamit. Ang pag-andar sa itaas () ay ginagamit sa script upang ma-capitalize ang halagang ibinigay ng gumagamit.







# Tukuyin ang isang walang katapusang loop

habang Totoo:

# Kumuha ng input mula sa gumagamit

inputVal= input('Mag-type ng anumang teksto: n')

# I-print ang halaga ng pag-input

mag-print('Ang halaga ng pag-input ay% s'%(inputVal))

# Humingi ng susunod na pag-ulit

susunodInput= input('Gusto mo bang magpatuloy? (Y / N) ')

# Tapusin mula sa loop kung pinindot ang 'n'

kungsusunodInput.itaas() == 'N':

pahinga

# I-print ang mensahe ng pagwawakas

mag-print('Natapos ang programa.')

Output:

Ang sumusunod na katulad na output ay lilitaw pagkatapos ipatupad ang script sa itaas. Dito, ‘ LinuxHint 'Ibinigay bilang unang halaga ng pag-input at winakasan mula sa script para sa pagpindot sa character,' n '.





Halimbawa-2: Basahin ang data mula sa stdin sa pamamagitan ng paggamit ng sys.stdin

Ang sys.stdin ay isa pang pagpipilian ng Python upang kumuha ng karaniwang input mula sa mga gumagamit mula sa terminal. Tinatawag nito ang pag-input () na paggana sa loob at nagdaragdag ng ‘ n ‘Pag kuha ng input. Lumikha ng isang python file na may sumusunod na script upang suriin ang paggamit ng sys.stdin upang kumuha ng karaniwang input. Dito, ang loop na 'for-in' ay ginagamit upang kunin ang input mula sa walang katapusan na beses ng gumagamit hanggang sa nais ng gumagamit na wakasan ang script. Matapos i-print ang halaga ng pag-input, ang pag-andar ng input () ay ginagamit upang tanungin ang gumagamit na ihinto ang script o hindi. Wawakasan ang script kung pipindutin ng gumagamit ang ‘ at ‘O‘ AT ‘. Ang itaas () na pag-andar ay ginagamit din dito upang mapakinabangan ang halaga ng pag-input.





# Mag-import ng module ng sys

angkat sys


mag-print('Mag-type ng anumang teksto:')


# Kumuha ng input gamit ang stdin

para sainputValsa sys.si stdin:

# I-print ang halaga ng pag-input

mag-print('Ang halaga ng pag-input ay:% s'% inputVal)


# Humingi ng susunod na pag-ulit

susunodInput= input('Gusto mo bang magwakas? (Y / N) ')

# Tapusin mula sa loop kung pinindot ang 'y / Y'

kungsusunodInput.hubarin().itaas() == 'AT':

pahinga

iba pa:

mag-print('Mag-type ng anumang teksto:')

Output:

Ang sumusunod na katulad na output ay lilitaw pagkatapos ipatupad ang script sa itaas. Dito, ‘ Pagprogram ng Python 'Ibinigay bilang unang halaga ng pag-input at winakasan mula sa script para sa pagpindot sa character,' y '.



Halimbawa-3: Basahin ang data mula sa stdin sa pamamagitan ng paggamit ng fileinput

Ang fileinput ay isa pang module ng Python upang kumuha ng karaniwang input. Ang mga linya ng teksto ay maaaring makuha mula sa terminal o isang file sa pamamagitan ng paggamit fileinput.input () . Kung walang ibinigay na halaga ng argument sa pagpapaandar na ito, kukuha ito ng input mula sa terminal at kung ang pangalan ng isang mayroon nang file ay ibinigay bilang isang halaga ng argument, kukuha ito ng input mula sa file. Lumikha ng isang python file na may sumusunod na script upang kumuha ng karaniwang input mula sa terminal. Dito, ang loop na 'for-in' ay ginamit bilang nakaraang halimbawa upang kumuha ng input para sa walang katapusang oras hanggang sa nais ng gumagamit na wakasan ang script. Susunod, ginagamit ang pagpapaandar na input () upang hilingin sa gumagamit na ihinto ang script o hindi. Wawakasan ang script kung magta-type ang gumagamit 'Quit' o 'Quit' o 'QUIT' . Ang itaas () na pag-andar ay ginagamit din dito upang mapakinabangan ang halaga ng pag-input. Ang i-strip () ang pag-andar ay ginagamit upang alisin ang labis na mga puwang mula sa magkabilang panig ng halaga ng pag-input.

# I-import ang module ng fileinput

angkat fileinput


mag-print('Ipasok ang teksto:')

'' '

Kumuha ng input gamit ang fileinput.input () function at

pindutin ang ctrl + D upang tapusin ang pagkuha ng input na halaga

'' '


para sainputValsa fileinput.input():

# Tapusin mula sa loop kung na-type ang 'quit'

kunginputValhubarin().itaas() == 'QUIT':

pahinga


# I-print ang halaga ng pag-input

mag-print('Ang halaga ng pag-input ay:',inputVal)

mag-print('Ipasok ang teksto:')

Output:

Ang sumusunod na katulad na output ay lilitaw pagkatapos ipatupad ang script sa itaas. Dito, ang 'Alamin ang sawa mula sa LinuxHint.com' ay ibinigay bilang unang halaga ng pag-input at winakasan mula sa script para sa pag-type ng salitang, 'quit'. Kailangan mong tandaan ang isang bagay habang kumukuha ng input mula sa terminal gamit ang fileinput modyul Iyon ay, kailangan mong pindutin ang ctrl + d pagkatapos ng pagkuha ng input.

Kailangan mong ibigay ang filename bilang halaga ng argument ng fileinput.input () pag-andar kung nais mong kumuha ng data mula sa file sa halip na ang terminal.

Konklusyon:

Tatlong magkakaibang paraan upang kumuha ng input mula sa terminal ay ipinakita sa tutorial na ito sa pamamagitan ng paggamit ng tatlong simpleng mga halimbawa. Walang kinakailangang module upang magamit ang pag-andar ng input () para sa pagkuha ng input. Ang module ng sys ay kinakailangan upang i-import para sa paggamit sys.stdin , at ang module ngput ng file ay kinakailangan upang i-import para sa paggamit fileinput.input () sa script upang kumuha ng karaniwang input. Inaasahan kong ang mga gumagamit ng Python ay kukuha ng karaniwang input batay sa kanilang mga kinakailangan pagkatapos basahin ang tutorial na ito.