Stdin python что это

Что читает sys.stdin?

Я понимаю, как открывать файлы, а затем использовать встроенные в них функции Python. Но как работает sys.stdin?

В чем разница между двумя вышеупомянутыми вариантами использования sys.stdin? Откуда он читает информацию? Это через клавиатуру, или мы все еще должны предоставить файл?

5 ответов

Итак, вы использовали «предварительно встроенные функции» Python, предположительно так:

Это читает файл, вызывая итератор для объекта файла, который возвращает следующую строку из файла.

Вы могли бы вместо этого использовать:

Который читает строки из текущей позиции файла в список.

Будет проходить через стандартный ввод, пока не будет достигнут конец файла. И так будет это:

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

Чтобы понять, как работает sys.stdin, сделайте следующее:

Создайте простой скрипт на Python, назовем его «readStdin.py»:

Теперь откройте консоль любого типа в:

Итак, скрипт прочитал входные данные в список (с именем ‘lines’), включая символ новой строки, созданный ‘echo’. То есть.

По моему мнению, метод sys.stdin.read () принимает строку в качестве ввода от пользователя до специального символа, такого как Enter Key, за которым следуют Ctrl + D, а затем сохраняет ввод в качестве строки.

Control + D работает как сигнал остановки.

После запуска программы введите два числа, разделенных пробелом, и после окончания нажмите Control + D один или два раза, и вы увидите сумму двух входов.

Когда приведенный выше скрипт запускается в интерактивной оболочке, он будет блокировать выполнение до тех пор, пока пользователь не нажмет Ctrl-D, что указывает на конец ввода.

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

Выше создается список с именем линии, где каждый элемент будет строкой (как определено символом конца строки).

Подробнее об этом можно прочитать в разделе ввода и вывода учебного руководства по Python.

Если вы хотите предложить пользователю ввести данные, используйте метод input() ( в Python 2, используйте raw_input() ):

Источник

Модуль sys в Python

Модуль sys в Python предоставляет простые функции, которые позволяют нам напрямую взаимодействовать с интерпретатором.

Функции, предоставляемые модулем sys, позволяют нам работать с базовым интерпретатором, независимо от того, является ли он платформой Windows, Macintosh или Linux. В этом уроке мы рассмотрим эти функции и то, что с ними можно сделать.

import sys

Обратите внимание, что перед запуском каких-либо функций нам необходимо импортировать их, используя команду ниже.

sys.modules

Эта функция дает имена существующих модулей Python, импортированных текущей оболочкой. Выполним это в системе:

Я удалил много модулей, так как изначально Python по умолчанию импортирует много модулей. Таким образом, вывод может отличаться, когда вы выполните эту команду в настройках.

sys.argv

Эта функция собирает аргументы String, передаваемые скрипту python. Давайте выполним это в системе, написав скрипт:

Stdin python что это. img 222. Stdin python что это фото. Stdin python что это-img 222. картинка Stdin python что это. картинка img 222

sys.path

Эта функция просто отображает PYTHONPATH, установленный в текущей системе. Давайте выполним это в системе, написав скрипт:

Stdin python что это. img 223. Stdin python что это фото. Stdin python что это-img 223. картинка Stdin python что это. картинка img 223

sys.stdin

Эта функция используется для взятия. Давайте выполним это в системе, написав скрипт:

Stdin python что это. img 224. Stdin python что это фото. Stdin python что это-img 224. картинка Stdin python что это. картинка img 224

Вероятно, это наиболее часто используемая функция в модуле sys, так как это стандартный способ получения ввода от пользователя.

sys.copyright

Эта строка просто отображает информацию об авторских правах на текущую установленную версию Python. Давайте выполним это в системе, написав скрипт:

Stdin python что это. img 225. Stdin python что это фото. Stdin python что это-img 225. картинка Stdin python что это. картинка img 225

sys.exit

Этот метод заставляет интерпретатор внезапно завершать текущий поток выполнения. Давайте выполним это в системе, написав скрипт:

Stdin python что это. img 226. Stdin python что это фото. Stdin python что это-img 226. картинка Stdin python что это. картинка img 226

sys.getrefcount

Этот метод модуля sys возвращает количество ссылок на объект, в котором он используется. Python отслеживает это значение, поскольку, когда это значение достигает 0 в программе, память для этой переменной очищается. Давайте выполним это в системе, написав скрипт:

Источник

Python – Stdin, Stdout и STDERR

Прежде чем пройти через эту статью, давайте понять, какие условия stdin, Stdout и Stderr есть.

Python – Stdin, Stdout и STDERR

Стандартный ввод – Это Ручка-файл что пользовательская программа читает, чтобы получить информацию от пользователя. Мы даем ввод на стандартный вход ( stdin ).

Стандартный выход – Пользовательская программа записывает обычную информацию для этой обработки файла. Вывод возвращается через стандартный выход ( stdout ).

1. Sys.Stdin.

Python’s SYS модуль Предоставляет нам все три файловых объекта для STDIN, STDOUT и STDERR. Для объекта входного файла мы используем Sys.Stdin Отказ Это похоже на файл, где вы можете открыть и закрыть его, как и любой другой файл.

Давайте понять это через базовый пример:

Вышеуказанный фрагмент продолжает читать вход от stdin и печатает сообщение на консоль ( stdout ) до слова Выход встречается.

Примечание : Мы обычно не закрываем по умолчанию stdin Файл объект, хотя это разрешено. Итак, stdin_fileno.close () Допустимый код Python.

Теперь, когда мы немного знаем о stdin Давайте перейдем к stdout Отказ

2. Sys.Stdout

Приведенный ниже фрагмент показывает, что мы получаем выход на консоль, если мы пишем на sys.stdout Отказ

3. Sys.Stderr.

Это похоже на sys.stdout Потому что он также печатает непосредственно к консоли. Но разница в том, что это Только Отпечатки Исключения и Сообщения об ошибках Отказ (Вот почему это называется Стандартная ошибка ).

Давайте проиллюстрируем это с примером.

Как вы можете наблюдать, для всех входных строк мы пытаемся добавить в целое число, которое поднимет исключение. Мы ловим все такие исключения и распечатаем другое отладочное сообщение, используя Sys.Stderr Отказ

Перенаправление в файл

Приведенный ниже фрагмент перенаправляет вывод ( stdout ) в файл под названием Yump.txt Отказ

Итак, мы не увидим ничего напечатанного к консоли, потому что теперь она печатается к самому файлу! Это сущность выходного перенаправления. Вы «перенаправляете» вывод на некоторое другое место. (На этот раз до output.txt вместо консоли)

Как видите, мы напечатали вывод как на консоль, а также для Yump.txt Отказ

Сначала мы сохраняем оригинал sys.stdout Объект обработчика файла к другой переменной. Нам не только нужно это восстановить sys.stdout к старому обработчику (указывая на консоль), но мы также можем печатать на консоли, используя эту переменную!

Обратите внимание, что после записи в файл мы закрываем его, похоже на то, как мы закрываем файл, потому что этот файл все еще был открыт.

Мы наконец восстановим обработчик sys.stdout на консоль, используя переменную stdout_fileno Отказ

Подобный процесс можно соблюдать для перенаправления ввода и ошибки, замена sys.stdout с Sys.Stdin или Sys.Stderr и работа с входами и исключениями вместо вывода.

Заключение

Источник

Разбираем модуль sys

Stdin python что это. SRE 2021. Stdin python что это фото. Stdin python что это-SRE 2021. картинка Stdin python что это. картинка SRE 2021

Stdin python что это. module sys. Stdin python что это фото. Stdin python что это-module sys. картинка Stdin python что это. картинка module sys

Модуль sys предоставляет системе особые параметры и функции. В данном разделе мы рассмотрим следующее:

sys.argv

Значение sys.argv – это список аргументов командной строки, которые причастны к скрипту Python. Первый аргумент, argv[0], имеет аналогичное скрипту Python наименование. В зависимости от платформы, на которой вы работаете, первый аргумент может содержать полный путь к скрипту или к названию файла. Для дополнительных деталей обратитесь к документации. А тем временем, попробуем поработать с парочкой примеров, чтобы познакомиться с этим инструментом:

Если вы запустите это в интерпретаторе, вы получите список с пустой строкой. Давайте создадим файл под названием sysargv.py, со следующим содержимым:

Теперь запустите код в IDLE. Вы увидите список с одним элементом, который содержит путь к вашему скрипту. Попробуем передать скрипту несколько аргументов. Откройте окно терминала \ консоли и при помощи команды cd измените каталоги на тот, в котором находится скрипт. После этого, запустите что-то наподобие этого:

Stdin python что это. sys argv. Stdin python что это фото. Stdin python что это-sys argv. картинка Stdin python что это. картинка sys argvsys.argv

Обратите внимание на то, что будет выведено на экран:

Первый аргумент – это название файла нашего скрипта. Следующие два аргумента в списке – это те, что мы передали нашему скрипту в командной строке.

sys.executable

Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах, данная команда не сработает, и выдаст пустую строку с надписью None. Посмотрим, как пользоваться этой функцией:

sys.exit

Данная функция позволяет разработчику выйти из Python. Функция exit принимает необязательный аргумент, обычно целое число, которое дает статус выхода. Ноль считается как успешное завершение. Обязательно проверьте, имеет ли ваша операционная система какие-либо особые значения для своих статусов выхода, чтобы вы могли следить за ними в своем собственном приложении. Обратите внимание на то, что когда вы вызываете exit, это вызовет исключение SystemExit, которое позволяет функциям очистки работать в конечных пунктах блоков try / except. Давайте взглянем на то, как вызывается данная функция:

Запустив данный код в IDLE, вы увидите возникшую ошибку SystemExit. Давайте создадим несколько скриптов для теста. Для начала вам нужно создать основной скрипт, программу, которая будет вызывать другой скрипт Python. Давайте назовем его “call_exit.py”. Скрипт должен содержать следующее:

Теперь создайте скрипт Python под названием“exit.py” и сохраните его в той же папке. Вставьте в него следующий код:

Теперь давайте запустим его:

Stdin python что это. call. Stdin python что это фото. Stdin python что это-call. картинка Stdin python что это. картинка callsys.exit

Как вы могли заметить, написанный нами скрипт exit вернул ноль, так что он успешно заработал. Получается, мы заодно научились вызывать разные скрипты Python изнутри самого Python!

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

sys.path

Значение функции path модуля sys – это список строк, которые указывают путь поиска для модулей. Как правило, данная функция указывает Python, в каких локациях смотреть, когда он пытается импортировать модуль. В соответствии с документацией Python, sys.path инициализируется из переменной окружения PYTHONPATH, плюс зависимое от установки значение, указанное по умолчанию. Давайте взглянем на пример:

Данная функция может быть весьма полезной во время отладки причины, по которой модуль не импортируется. Вы также можете изменить путь. Так как данная функция является путем, мы можем добавлять или удалять путь из неё. Давайте взглянем на то, как добавлять путь:

Удаление пути я оставлю как задание для читателя Stdin python что это. wink. Stdin python что это фото. Stdin python что это-wink. картинка Stdin python что это. картинка wink

sys.platform

Значение sys.platform – идентификатор платформы. Вы можете использовать sys.platform чтобы добавлять модули к sys.path, импортировать разные модули, в зависимости от платформы, или запускать разные части кода. Давайте взглянем:

В данном примере мы видим, что Python работает в Windows. Вот пример того, как мы можем воспользоваться данной информацией:

Данный код показывает способы проверки того, используем ли мы определенную операционную систему. Если мы используем Windows, мы получим определенную информацию из реестра Windows, при помощи модуля Python под названием _winreg. Если мы используем Linux, мы можем выполнить команду ls, чтобы получить информацию о каталоге, в котором мы находимся.

sys.stdin / stdout / stderr

Stdin, stdout и stderr сопоставляются с файловыми объектами, которые соответствуют стандартным входам, выходам и потокам ошибок интерпретатора соответственно. Функция stdin используется для всех входов, используемых интерпретатором, за исключением скриптов, тогда как stdout используется для выходов операторов print и expression. Главная причина, по которой я акцентирую на этом внимание, заключается в том, что в какой-то момент вам нужно будет перенаправить stdout или stderr, или обе функции к файлу, такому как log, либо же какой-либо дисплей в пользовательском графическом интерфейсе, созданным вами. Вы также можете перенаправить stdin, но с такими случаями я практически не сталкивался.

Подведем итоги

Существует много других значений и методов в модуле sys. Обратитесь к документации Python, а именно к секции 27.1, если вам нужно углубиться в данный вопрос. Мы многому научились из данной статьи, поздравляю. Теперь вы знаете, как выйти из программы Python, как получить информацию о платформе, работать с аргументами, переданными командной строке, и многому другому.

Stdin python что это. site admin. Stdin python что это фото. Stdin python что это-site admin. картинка Stdin python что это. картинка site admin

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

E-mail: vasile.buldumac@ati.utm.md

Образование
Universitatea Tehnică a Moldovei (utm.md)

Источник

Python — stdin, stdout и stderr

Стандартный ввод — это дескриптор файла, который пользовательская программа читает, чтобы получить информацию от пользователя. Мы передаем ввод на стандартный ввод (stdin).

Стандартный вывод — программа пользователя записывает обычную информацию в этот дескриптор файла. Вывод возвращается через стандартный вывод (stdout).

Стандартная ошибка — программа пользователя записывает информацию об ошибке в этот дескриптор файла. Ошибки возвращаются через стандартную ошибку (stderr).

Python предоставляет нам файловые объекты, представляющие stdin, stdout и stderr. Давайте посмотрим, как мы могли бы работать с этими объектами, чтобы использовать ввод и вывод программы.

1. sys.stdin

Давайте разберемся на простом примере:

Примечание. Обычно мы не закрываем объект файла stdin по умолчанию, хотя это разрешено. Итак, stdin_fileno.close() — допустимый код Python.

2. sys.stdout

3. sys.stderr

Это похоже на sys.stdout потому что он также sys.stdout непосредственно выводит в консоль. Но разница в том, что он печатает только сообщения об исключениях и ошибках. (Вот почему он называется стандартной ошибкой).

Проиллюстрируем это на примере.

Перенаправление в файл

Сначала мы сохраняем исходный sys.stdout обработчик файла sys.stdout в другую переменную. Нам это нужно не только для восстановления sys.stdout в старом обработчике (указывающем на консоль), но мы также можем печатать на консоль, используя эту переменную!

Обратите внимание, что после записи в файл мы закрываем его, аналогично тому, как мы закрываем файл, потому что этот файл все еще был открыт.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *