Як читати з stdin?
Я намагаюся виконати деякі завдання з code golf, але всі вони вимагають, щоб вхідні дані були взяті з stdin
. Як це зробити у Python?
1378
3
Я намагаюся виконати деякі завдання з code golf, але всі вони вимагають, щоб вхідні дані були взяті з stdin
. Як це зробити у Python?
Ви можете скористатися модулем
fileinput
:fileinput
перебиратиме всі рядки у вхідних даних, вказані як імена файлів, задані в аргументах командного рядка, або стандартний ввід, якщо аргументи не надано.Зауваження:
line
буде містити кінцевий новий рядок; щоб видалити його, використовуйтеline.rstrip()
.Є кілька способів зробити це.
sys.stdin
- це файловий об'єкт, на якому можна викликати функціїread
абоreadlines
, якщо ви хочете прочитати все, або ви хочете прочитати все і розбити його на нові рядки автоматично. (Для цього потрібноімпортувати sys
, щоб це працювало).Якщо ви хочете запитати користувача про введення, ви можете використовувати
raw_input
в Python 2.X, і простоinput
в Python 3.Якщо ви просто хочете прочитати параметри командного рядка, ви можете отримати доступ до них через список sys.argv.
Можливо, ви також знайдете цю статтю Вікіпедії про ввід/вивід у Python корисною довідкою.
Це з Learning Python:
У Unix ви можете протестувати його, зробивши щось на кшталт:
У Windows або DOS, ви повинні зробити так: