Więcej
Jak czytać z stdin?
I'm trying to do some of the code golf challenges, but they all require the input to be taken from stdin
. Jak mogę to osiągnąć w Pythonie?
1378
3
Możesz użyć modułu
fileinput
:fileinput
zapętli wszystkie linie na wejściu określonym jako nazwy plików podane w argumentach wiersza poleceń, lub standardowe wejście, jeśli nie podano żadnych argumentów.Uwaga:
linia
będzie zawierać kończącą się nową linię; aby ją usunąć, użyjline.rstrip()
.Jest kilka sposobów, aby to zrobić.
sys.stdin
jest obiektem podobnym do pliku, na którym możesz wywołać funkcjeread
lubreadlines
jeśli chcesz przeczytać wszystko lub chcesz przeczytać wszystko i podzielić to automatycznie przez nową linię. (Musiszimportować sys
, aby to zadziałało).Jeśli chcesz poprosić użytkownika o dane wejściowe, możesz użyć
raw_input
w Pythonie 2.X, i po prostuinput
w Pythonie 3.Jeśli chcesz tylko odczytać opcje wiersza poleceń, możesz uzyskać do nich dostęp za pomocą listy sys.argv.
Prawdopodobnie znajdziesz ten artykuł Wikibook o I/O w Pythonie jako użyteczne odniesienie.
Tutaj'jest z Nauka Pythona:
Na Uniksie, możesz to przetestować robiąc coś takiego:
W systemie Windows lub DOS, można'by zrobić: