Рубрики
Без рубрики

Как читать из Stdin в Python

Есть три способа читать данные из Stdin в Python. SYS.STDIN INPUT () Встроенный Функция FileInput.input () Функция 1. Использование Sys.S.S.Stdin для чтения из

Автор оригинала: Pankaj Kumar.

Есть три способа читать данные из Stdin в Python.

  1. Sys.Stdin.
  2. Встроенный вход () встроенный
  3. Функция fileInput.input ()

1. Использование Sys.S.Stdin для чтения из стандартного ввода

Модуль Python Sys STDIN используется переводчиком для стандартного ввода. Внутренне он вызывает функцию ввода (). Входная строка добавляется с символом Newline (\ N) в конце. Итак, вы можете использовать функцию RSTRIP (), чтобы удалить ее.

Вот простая программа для чтения пользовательских сообщений со стандартного ввода и обработки его. Программа завершится, когда пользователь вступает в сообщение «Выход».

import sys

for line in sys.stdin:
    if 'Exit' == line.rstrip():
        break
    print(f'Processing Message from sys.stdin *****{line}*****')
print("Done")

Выход:

Hi
Processing Message from sys.stdin *****Hi
*****
Hello
Processing Message from sys.stdin *****Hello
*****
Exit
Done

Обратите внимание на использование RSTRIP (), чтобы удалить Craining Newline символ, чтобы мы могли проверить, ввел ли пользователь «Выход» сообщение или нет.

2. Использование функции ввода () для чтения данных stdin

Мы также можем использовать функцию Python Inpuck () для чтения стандартных входных данных. Мы также можем подсказать сообщение пользователю.

Вот простой пример для чтения и обработки стандартного входного сообщения в бесконечной петле, если пользователь не входит в сообщение о выходе.

while True:
    data = input("Please enter the message:\n")
    if 'Exit' == data:
        break
    print(f'Processing Message from input() *****{data}*****')

print("Done")

Выход:

Python Input () Читать от stdin

Функция ввода () не включает Newline символ пользователю.

3. Чтение стандартного ввода с использованием модуля FileInput

Мы также можем использовать fileInput.input () Функция для чтения от стандартного ввода. Модуль FileInput предоставляет функции утилиты для цикла по стандартному входу или в список файлов. Когда мы не предоставляем никакого аргумента на функцию ввода (), он читает аргументы от стандартного ввода.

Эта функция работает так же, как Sys.Stdin и добавляет новенький символ к концу введенных пользователем данных.

import fileinput

for fileinput_line in fileinput.input():
    if 'Exit' == fileinput_line.rstrip():
        break
    print(f'Processing Message from fileinput.input() *****{fileinput_line}*****')

print("Done")

Выход:

Python fileinput.input () Читать стандартный вход