Модуль sys в Python предоставляет функции и переменные, используемые для изменения различных частей среды выполнения. Модуль sys предоставляет sys.argv, sys.exit, sys.maxsize, sys.stdin, sys.stdout, sys.stderr, sys.path и множество других модулей. Модуль sys предоставляет функции для взаимодействия с интерпретатором.
Для работы с интерпретатором Python вам необходимо импортировать модуль sys в вашу программу.
|
1 |
import sys |
Ввод из Stdin в Python
Чтобы получить данные для чтения из стандартного ввода Python, вы можете использовать один из следующих способов.
- sys.stdin: используется интерпретатором для стандартного ввода.
- fileinput.input(): используется для одновременного чтения более одного файла.
- input(): функция input() используется для получения ввода от пользователя во время выполнения программы.
Python sys.stdin
Модуль sys предоставляет стандартный ввод, который интерпретатор может использовать для стандартного ввода. Он внутренне вызывает функцию input() и автоматически добавляет ‘\n’ после каждого предложения.
sys.stdin — это файлоподобный объект, для которого вы можете вызывать такие функции, как read() или readlines(), если вы хотите только читать или читать все и автоматически разделять его по новой строке.
Давайте создадим программу на Python, которая получает данные от пользователя с помощью модуля sys.stdin.
|
1 2 3 4 5 6 7 8 |
import sys for inpt in sys.stdin: if 'Stop' == inpt.rstrip(): break print(f'You input is: {inpt}') print("You exited the program") |
Вывод:
|
1 2 3 4 5 6 7 8 9 10 11 |
krunal You input is: krunal simpson You input is: simpson stop You input is: stop Stop You exited the program |
В этом примере мы считываем пользовательский ввод из стандартного ввода и обрабатываем его.
Функция rstrip() удаляет завершающий символ новой строки, чтобы вы могли проверить, ввел ли пользователь строку «Stop» или нет.
Если пользователь введет «Stop», он выйдет из программы. Следует отметить, что если вы введете «stop» вместо «Stop», программа не выйдет из программы, поскольку sys.stdin чувствителен к регистру, как вы можете видеть в примере.
Метод fileinput.input() в Python
Метод Python fileinput.input() принимает файл в качестве входных данных и может использоваться для обновления и добавления данных в файл. Функция fileinput.input() используется, если мы хотим прочитать более одного файла за раз.
Синтаксис
|
1 |
fileinput.input(files) |
Аргументы
Он принимает files в качестве аргумента.
Пример
Для работы с методом fileinput.input() необходимо импортировать модуль fileinput.
Допустим, у меня есть текстовый файл в моем текущем рабочем каталоге с именем data.txt, и содержимое этого файла следующее.
|
1 |
Yellow, This is Homer Simpson |
Теперь мы напишем программу, используя метод fileinput.input(), в котором мы будем вводить файлы в командной строке и возвращать содержимое файла. В нашем случае это файл data.txt.
|
1 2 3 4 |
import fileinput for line in fileinput.input(): print(line) |
Чтобы запустить этот файл, введите в терминале следующую команду.
|
1 2 3 |
python app.py data.txt Yellow, This is Homer Simpson |
И мы получаем содержимое входного файла data.txt с помощью метода fileinput.input().
Fileinput будет перебирать все строки ввода, указанные как имена файлов, заданные в аргументах командной строки, или стандартный ввод, если аргументы не указаны.
Метод input() в Python
Чтобы получить пользовательский ввод от пользователя в Python, используйте метод input(). Метод input() считывает строку из ввода, преобразует ее в строку и возвращает ее.
Если вы используете Python2, то есть функция raw_input(), которая работает точно так же, как функция input() в Python3.
Синтаксис
|
1 |
input(prompt) |
Аргументы
Метод input() принимает prompt в качестве необязательного аргумента.
Пример
|
1 2 3 |
simpson = input('What is your surname? ') print('Your surname is: ',simpson) |
Вывод:
|
1 2 3 |
What is your surname? Simpson Your surname is: Simpson |
Вы можете видеть, что он запрашивает пользовательский ввод, и когда мы нажимаем input, он печатает его на консоли.

