Hvordan leser du fra stdin?
Jeg' prøver å gjøre noen av kodegolf -utfordringene, men de krever alle input som skal hentes fra stdin
. Hvordan får jeg det i Python?
1378
3
Jeg' prøver å gjøre noen av kodegolf -utfordringene, men de krever alle input som skal hentes fra stdin
. Hvordan får jeg det i Python?
Du kan bruke modulen
fileinput
:fileinput
vil løkke gjennom alle linjene i input spesifisert som filnavn gitt i kommandolinjeargumenter, eller standard input hvis ingen argumenter er gitt.Merk:
line
vil inneholde en avsluttende ny linje; for å fjerne den, brukline.rstrip()
.Det er flere måter å gjøre det på.
sys.stdin
er et fillignende objekt der du kan kalle funksjoneneread
ellerreadlines
hvis du vil lese alt, eller du vil lese alt og dele det opp med ny linje automatisk. (Du måimportere sys
for at dette skal fungere).Hvis du vil spørre brukeren om input, kan du bruke
raw_input
i Python 2.X, og bareinput
i Python 3.Hvis du faktisk bare vil lese kommandolinjealternativer, kan du få tilgang til dem via listen sys.argv.
Du vil sannsynligvis også finne denne Wikibook-artikkelen om I/O i Python som en nyttig referanse.
Her fra Learning Python:
På Unix kan du teste det ved å gjøre noe sånt som:
På Windows eller DOS kan du gjøre følgende: