Как убрать вывод в консоль python
В уроке рассмотрены основные способы ввода и вывода данных в Python с использованием консоли, и работа с файлами: открытие, закрытие, чтение и запись.
Рассмотрим основные способы использования данной функции.
По умолчанию, для разделения элементов в функции print используется пробел.
Для замены разделителя необходимо использовать параметр sep функции print.
В качестве конечного элемента выводимой строки, используется символ перевода строки.
Для его замены используется параметр end.
Для считывания вводимых с клавиатуры данных используется функция input().
Для сохранения данных в переменной используется следующий синтаксис.
Если считывается с клавиатуры целое число, то строку, получаемую с помощью функции input(), можно передать сразу в функцию int().
Для вывода строки-приглашения, используйте ее в качестве аргумента функции input().
Преобразование строки в список осуществляется с помощью метода split(), по умолчанию, в качестве разделителя, используется пробел.
Разделитель можно заменить, указав его в качестве аргумента метода split().
Для считывания списка чисел с одновременным приведением их к типу int можно воспользоваться вот такой конструкцией.
Открытие и закрытие файла
Для открытия файла используется функция open(), которая возвращает файловый объект. Наиболее часто используемый вид данной функции выглядит так open(имя_файла, режим_доступа).
Для указания режима доступа используется следующие символы:
По умолчанию файл открывается на чтение в текстовом режиме.
У файлового объекта есть следующие атрибуты.
Для закрытия файла используется метод close().
Чтение данных из файла
Чтение данных из файла осуществляется с помощью методов read(размер) и readline().
Метод read(размер) считывает из файла определенное количество символов, переданное в качестве аргумента. Если использовать этот метод без аргументов, то будет считан весь файл.
В качестве аргумента метода можно передать количество символом, которое нужно считать.
Метод readline() позволяет считать строку из открытого файла.
Построчное считывание можно организовать с помощью оператора for.
Запись данных в файл
Для записи данных файл используется метод write(строка), при успешной записи он вернет количество записанных символов.
Дополнительные методы для работы с файлами
Метод tell() возвращает текущую позицию “условного курсора” в файле. Например, если вы считали пять символов, то “курсор” будет установлен в позицию 5.
Метод seek(позиция) выставляет позицию в файле.
Хорошей практикой при работе с файлами является применение оператора with. При его использовании нет необходимости закрывать файл, при завершении работы с ним, эта операция будет выполнена автоматически.
P.S.
Python. Урок 12. Ввод-вывод данных. Работа с файлами : 2 комментария
Python от новичка до мастера (2): очистить консоль Python
Выполните команду python для входа в консоль Python. Вы можете выполнять операторы Python в интерактивном режиме в консоли Python. То есть выполнение строки оператора Python немедленно вернет результат выполнения.
Когда консоль Python вводит слишком много операторов Python, иногда необходимо очистить эти уже введенные операторы и результаты выполнения и снова начать вводить операторы Python. Например, на следующем рисунке показана консоль Python, которая вводит несколько операторов Python и выводит соответствующие результаты.
。
Конечно, если вы не хотите видеть эти операторы Python и выводить результаты, вы можете продолжать нажимать клавишу «Ввод», пока все в консоли Python не будет перемещено в окно. Однако с тех пор курсор все еще находится в нижней части консоли Python, и командные запросы на консоли Python выглядят очень некрасиво, как показано ниже.
Если вы используете Mac OS X, вы можете напрямую очистить консоль Python, нажав Ctrl + L в консоли Python. В Windows нет сочетания клавиш для очистки консоли Python, поэтому нам нужно написать код Python для реализации функции очистки консоли Python. Таким образом, цель этого раздела теперь ясна: этот раздел предназначен не для того, чтобы научить вас, как очищать консоль Python, а для того, чтобы заимствовать операцию очистки консоли Python, используя знания об импорте модулей и объявлении переменных, представленных в предыдущих двух разделах. Напишите программу на Python для очистки консоли Python for Windows.
Windows В Windows, если вы хотите очистить консоль Windows, выполните команду cls. Поскольку консоль Python реализована с использованием консоли Windows, команда cls также может очистить консоль Python. Однако команда cls не может быть выполнена непосредственно из консоли Python. Чтобы выполнить внешние команды в консоли Python, вам нужно вызвать системную функцию в модуле os. Читатель может вводить следующий код построчно в консоли Python.
Выполните эти две строки кода, чтобы очистить предыдущий ввод в консоли Python, но первая строка консоли Python выведет «0», как показано ниже.
Фактически, это «0» является возвращаемым значением функции os.system. Консоль Python печатает возвращаемое значение каждого выполненного оператора. Функция os.system возвращает «0», если команда успешно выполнена, и возвращает «1», если команда не выполняется. Но для самого идеального удалите это «0» сейчас.
This Причина, по которой выводится это «0», заключается в том, что стандартный вывод языка Python по умолчанию ссылается на консоль Python, поэтому результаты выполнения всех операторов Python выводятся на консоль Python. Теперь просто измените стандартный вывод языка Python и укажите его в файле, тогда результат выполнения функции os.system будет записан непосредственно в этот файл вместо консоли Python.
В следующем примере будет написана программа на Python для очистки консоли Python.
Чтобы очистить консоль Python без вывода «0»:
(1) Импортировать модуль os и модуль sys.
(2) Используйте функцию open, чтобы открыть файл доступным для записи способом. Этот пример - out.log.
(3) Чтобы не влиять на результаты выполнения других операторов, выводимых в консоли Python, стандартный вывод Python по умолчанию должен быть сначала сохранен в переменную, чтобы в будущем восстановить стандартный вывод Python по умолчанию. Используйте sys.stdout для получения стандартного вывода обработчика Python.
(4) Укажите стандартный вывод Python на файл, открытый на шаге 2.
(5) Используйте функцию os.system для выполнения команды cls.
(6) Восстановить стандартный вывод Python по умолчанию.
Полный код реализации выглядит следующим образом. Читатель может вводить эти коды построчно в консоли Python. Когда выполняется оператор os.system (‘cls’), консоль Python очищается и «0» не отображается.
Диаграмма структуры знаний «Питон от новичка к мастеру».
Отсканируйте QR-код, чтобы следовать общедоступной учетной записи «Geek Origin», технические статьи и видеокурсы - это все
Как и большинство разработчиков Python, я обычно держу консольное окно открытым с запущенным интерпретатором Python для тестирования команд, dir() , help() stuff и т.д.
Как и любая консоль, через некоторое время видимое отставание прошлых команд и отпечатков становится загроможденным, и иногда возникает путаница при повторном запуске одной и той же команды несколько раз. Мне интересно, если и как очистить консоль интерпретатора Python.
Я слышал о том, как выполнять системный вызов и вызывать cls в Windows или clear в Linux, но я надеялся, что есть что-то, что я мог бы заставить интерпретатора сделать сам.
Примечание: я работаю в Windows, поэтому Ctrl+L не работает.
ОТВЕТЫ
Ответ 1
Как вы упомянули, вы можете выполнить системный вызов:
Для Linux лямбда становится
Ответ 2
здесь что-то удобное, что немного больше кросс-платформенного
Ответ 3
Ну, вот быстрый хак:
Или, чтобы сохранить некоторую типизацию, поместите этот файл в путь поиска python:
Тогда вы можете сделать это из интерпретатора, который вам нравится:)
Ответ 4
BTW, не ставьте кавычки вокруг пути к файлу, даже если в нем есть пробелы.
Во всяком случае, здесь я беру код, чтобы добавить (или добавить к существующему) скрипт запуска Python:
Кстати, вы также можете использовать @Триптих в __repr__ трюк, чтобы изменить exit() в только exit (и повторы его псевдоним quit ):
Наконец, здесь что-то другое, которое меняет запрос первичного интерпретатора от >>> до cwd+ >>> :
Ответ 5
У вас есть несколько способов сделать это в Windows:
Ответ 6
Самый быстрый и простой способ - это Ctrl + L .
Это то же самое для OS X на терминале.
Ответ 7
Мой способ сделать это - написать такую функцию:
затем вызовите clear() , чтобы очистить экран. это работает на windows, osx, linux, bsd. все ОС.
Ответ 8
Стеклоочиститель круто, хорошо, что мне не нужно набирать '()' вокруг него. Вот небольшая вариация к ней
Использование довольно просто:
Ответ 9
Вот кросс-платформенный (Windows/Linux/Mac/, вероятно, другие, которые вы можете добавить в проверке if) фрагмент кода, который я сделал, объединяя информацию, найденную в этом вопросе:
Та же идея, но с ложкой синтаксического сахара:
Ответ 10
Здесь окончательное решение, которое объединяет все остальные ответы. Особенности:
-
Вы можете скопировать-вставить код в свою оболочку или script.
Вы можете использовать по своему усмотрению:
Вы можете импортировать его как модуль:
Вы можете вызвать его как script:
действительно мультиплатформенный; если он не может распознать вашу систему
( ce , nt , dos или posix ) он вернется к печати пустых строк.
Ответ 11
Я использую iTerm и родное приложение терминала для Mac OS.
Я просто нажимаю ⌘ + k
Ответ 12
Используйте простоя. Он имеет много удобных функций. Ctrl+F6 , например, сбрасывает консоль. Закрытие и открытие консоли - это хорошие способы ее очистки.
Ответ 13
для пользователя Mac внутри консоли типа Python
Ответ 14
Я не уверен, поддерживает ли Windows "оболочка", но в Linux:
По-моему, вызов cls с os - это плохая идея вообще. Представьте, если мне удастся изменить команду cls или clear в вашей системе, и вы запустите свой script как admin или root.
Ответ 15
Это самая простая вещь, которую вы можете сделать, и она не требует дополнительных библиотек. Он очистит экран и вернет >>> в верхний левый угол.
Ответ 16
Вот два хороших способа сделать это:
1.
2.
Ответ 17
Я использую MINGW/ BASH в Windows XP, SP3.
Я больше не мог печатать "exit()" и был в восторге от трюков martineau/Triptych:
Я слегка его усовершенствовал (застрял в .pythonstartup)
Ответ 18
Команда OS clear в Linux и cls в Windows выводит "магическую строку", которую вы можете просто распечатать. Чтобы получить строку, выполните команду с помощью popen и сохраните ее в переменной для последующего использования:
На моей машине строка '\x1b[H\x1b[2J' .
Ответ 19
Как насчет этого для ясного
Это примерно так же коротко, как может быть!
Ответ 20
Я новичок в python (действительно очень новый), и в одной из книг, которые я читаю, чтобы познакомиться с языком, которым они учат, как создать эту небольшую функцию, чтобы очистить консоль видимого отставания и прошлых команд и печатает:
Открыть оболочку/Создать новый документ/Создать функцию следующим образом:
Сохраните его в папке lib в каталоге python (мой C:\Python33\Lib) В следующий раз, когда вам не удалось очистить консоль, просто вызовите функцию с помощью:
что он. PS: вы можете назвать свою функцию в любом случае. Я видел, как люди, использующие "очиститель", "вытирают" и изменяют.
Ответ 21
Я нашел самый простой способ только закрыть окно и запустить модуль / script, чтобы снова открыть оболочку.
Ответ 22
просто используйте это.
Ответ 23
Я использую Spyder (Python 2.7) и для очистки консоли интерпретатора я использую
который заставляет командную строку идти в верхнюю часть, и я не буду видеть предыдущие старые команды.
или я нажимаю "вариант" в среде Console и выбираю "Перезапустить ядро", которое удаляет все.
Ответ 24
Если это на Mac, то простой cmd + k должен сделать свое дело.
Ответ 25
Возможно, я опоздал на эту часть, но здесь очень простой способ сделать это
Итак, что бы вы хотели очистить, просто введите свой код
Ответ 26
EDIT: Я только что прочитал "окна", это для пользователей Linux, извините.
Сохраните его как "whatyouwant.sh", затем chmod + x:
или что-то другое, чем python (бездействует, что угодно). Это спросит вас, действительно ли вы хотите выйти, если не перезапустить python (или команду, которую вы дали как параметр).
Это очистит все, экран и все переменные/объект/все, что вы создали/импортировали в python.
В python просто введите exit(), когда вы хотите выйти.
Ответ 27
Это должна быть кросс-платформа, а также использовать предпочтительный subprocess.call вместо os.system в соответствии с os.system docs. Должен работать в Python >= 2.4.
Ответ 28
UPDATE: 80x25 вряд ли будет размером с консольными окнами, поэтому, чтобы получить реальные размеры консоли, используйте функции pager. Python не предоставляет ничего подобного из основного распределения.
Ответ 29
ОК, так что это гораздо менее технический ответ, но я использую плагин Python для Notepad ++, и получается, что вы можете просто очистить консоль вручную, щелкнув правой кнопкой мыши на нем и щелкнув "clear". Надеюсь, это поможет кому-то там!
Ответ 30
Магические строки упомянуты выше - я считаю, что они взяты из базы данных terminfo:
$tput clear | od -t x1z 0000000 1b 5b 48 1b 5b 32 4a > . [H. [2J < 0000007
Я знаю, что есть аналогичная тема о консоли python, но я не знаю, совпадают ли они. Я попробовал систему ( "clear" ), и она здесь не работала.
Как очистить окно IDLE python?
это не дубликат, OP спрашивает о том, как очистить оболочку IDLE, а не консоль Причина, по которой это не работает, заключается в том, что Python запускает новый сеанс оболочки и запускает команду clear там. Это также объясняет, почему cd не работает в system.os . Удерживайте ctrl + j некоторое время, а затем нажмите Enter, это будет лучший способ @ytpillai, Ах, но это дает мне подсказку внизу. Решение, без сомнения, но все же вызывает некоторое удобство.24 ответа
"cls" и "clear" - это команды, которые очищают терминал (например, приглашение DOS или окно терминала). На скриншоте вы используете оболочку в IDLE, которая не будет затронута такими вещами. К сожалению, я не думаю, что есть способ очистить экран в IDLE. Лучшее, что вы можете сделать, это прокрутить экран вниз по множеству строк, например:
Хотя вы можете поместить это в функцию:
И затем назовите его, когда необходимо, в качестве cls()
Он очищает экран, но вы все равно получаете подсказку ">>>" в последней строке, а не сверху, что, я думаю, делает его менее неэффективным . +1 для чистого экрана Это достойный обходной путь - единственный, который я нашел работающим Python 3.4.2 - мне пришлось заключить в скобки "\ n" и * 100, поэтому: print ("\n" * 100) Это не очистит экран, я все еще могу прокрутить назад!os.system('clear') работает с linux. Если вы используете Windows, попробуйте os.system('CLS') .
Вам нужно сначала импортировать os следующим образом:
Кажется, не работает. Может мне что то импортировать? Ну, это не очищает оболочку Python. Но я вижу отпечаток 0. Это не работает в оболочке Windows Idle tkinter, хотя, вероятно, работает в командной строке. это делает вызов os для cls во внешней командной строке и не взаимодействует с Idle простоя это не консольное окно. Обе команды clear и cls работают в окнах консоли / терминала. Вопрос в том, чтобы «очистить экран в режиме ожидания». Вышеуказанные методы, безусловно, не работают на моем компьютере. @devouredelysium В консоли назначьте os.system("clear") переменной, чтобы не видеть 0. Почему за это проголосовали? Это откроет новую командную строку, очистит ее и закроет Я использую VS CODE на Mac для обучения ООП с помощью системы текстового меню. Это работает только на ОКНА ТЕРМИНАЛА, а не на консоли отладки. Это подходит для моих целей очистки перед отображением нового меню. (Просто поясняю, почему я считаю этот ответ полезным)ctrl + L очищает экран от Ubuntu Linux.
В Windows тоже, если вы используете IDLEx. Ура! Так счастлив, что наконец-то получил простое решение! Не работает в Ubuntu 18.04. Тем хуже здесь, используйте CTRL + J несколько раз. Добавлено в мой сегодняшний хак! Также работать как шарм в MacOS!Самый простой ответ на этот вопрос:
Это хороший, прямой и практический ответ на этот вопрос; Закрыть в режиме ожидания, оставить файл открытым, запустить файл еще раз, и в режиме ожидания теперь отображается новый экран. @Mike_K, это может быть полезно, но не всегда. Прямо сейчас у меня разделенный экран (книга <|> простаивает). Когда я снова запускаю режим ожидания, новый экран приходит в положение / размеры по умолчанию. Так что будет очень скучно.Невозможно очистить оболочку IDLE python без интеграции внешнего модуля. Если вы действительно хотите получить чистую чистую свежую оболочку, просто закройте предыдущую оболочку и запустите ее снова.
Расширение для очистки оболочки можно найти в Issue6143 как "запрос функции". Это расширение включено в IdleX.
Это блестящее расширение для Python Idle. Спасибо вам большое!Это прекрасно. Напечатано также "0".
Хорошо, просто, делает то, что говорит. Или после import os просто наберите os.system("clear") хотя функция удобна, если вам часто приходится очищать экран. os.system («очистить») сработало. Это работает для меня, но я должен набрать "cls ()" Когда я попытался это сделать, командная строка вернула <function cls at 0x024D25D0> и консоль не очистиласьКажется, что нет способа очистки буфера оболочки IDLE.
Способ выполнения команд в Python 2.4+ состоит в использовании модуля subprocess. Вы можете использовать его так же, как вы используете os.system .
Если вы выполняете это в консоли python, вам нужно что-то сделать, чтобы скрыть возвращаемое значение (для os.system или subprocess.call ), например присвоение переменной:
Хм .. Вот что я получаю за то, что не пользуюсь Windows и, следовательно, не могу ее протестировать. Попробуйте subprocess.call ("cls", shell = True) cls = subprocess.call ("cls", shell = True) .. Именно то, что мне нужно. Спасибо..Я бы порекомендовал вам использовать Thonny IDE для Python. В этой оболочке есть опция "Clear Shell", и вы также можете отслеживать переменные, созданные в отдельном списке. Отладка очень хороша даже по сравнению с современными IDE. Вы также можете написать код в файле Python вместе с доступом к оболочке в том же месте.
Ни один из этих решений не работал у меня в Windows 7 и в IDLE. Раньше, используя PowerShell, запустив в нем Python и выйдя на вызов "cls" в PowerShell, чтобы очистить окно.
CONS: Предполагается, что Python уже находится в переменной PATH. Кроме того, это очищает переменные Python (хотя перезагружает оболочку).
PROS: Сохраняет все сделанные вами настройки окна (цвет, размер шрифта).
Вы можете сделать AutoHotKey script.
Чтобы установить ctrl-r в горячую клавишу, чтобы очистить оболочку:
Просто установите AutoHotKey, поместите вышеуказанное в файл с именем idle_clear.ahk, запустите файл, и ваша горячая клавиша активна.
В новом окне **
Проблема с этим методом заключается в том, что он очистит все, что вы определили, например переменные.
Кроме того, вы должны просто использовать командную строку.
открыть командную строку
введите "cd c:\python27"
Обратите внимание, что example.py должен находиться в том же каталоге, что и C:\python27, или в любом каталоге, на котором установлен python.
Затем отсюда вы просто нажимаете клавишу со стрелкой вверх на клавиатуре. Вы просто отредактируете example.py, используйте CTRL + S, затем вернитесь в командную строку, нажмите стрелку вверх, нажмите enter.
Если командная строка слишком переполнена, просто введите "clr"
Команда "clr" работает только с командной строкой, она не будет работать с IDLE.
Читайте также: