Hoe lees je van stdin?
Ik'probeer een aantal van de code golf uitdagingen te doen, maar ze vereisen allemaal dat de invoer uit stdin
wordt gehaald. Hoe krijg ik dat in Python?
1378
3
Ik'probeer een aantal van de code golf uitdagingen te doen, maar ze vereisen allemaal dat de invoer uit stdin
wordt gehaald. Hoe krijg ik dat in Python?
Je zou de
fileinput
module kunnen gebruiken:fileinput
zal door alle regels in de invoer lopen die zijn opgegeven als bestandsnamen in command-line argumenten, of de standaard invoer als er geen argumenten zijn opgegeven.Opmerking:
line
zal een nieuwe regel achteraan bevatten; om deze te verwijderen gebruikt uline.rstrip()
Er zijn een paar manieren om het te doen.
sys.stdin
]1 is een file-achtig object waarop je de functiesread
ofreadlines
kunt aanroepen als je alles wilt lezen of als je alles wilt lezen en automatisch wilt splitsen met newline. (Je moetimport sys
hebben om dit te laten werken).Als je de gebruiker wilt vragen om invoer, dan kun je
raw_input
gebruiken in Python 2.X, en gewooninput
in Python 3.Als je eigenlijk alleen command-line opties wilt lezen, kun je ze benaderen via de sys.argv lijst.
U zult waarschijnlijk dit Wikibook artikel over I/O in Python ook een nuttige referentie vinden.
Hier's van Python leren:
Op Unix, zou je het kunnen testen door iets te doen als:
Op Windows of DOS, zou je zoiets doen als: