Как очистить окно в питоне

Как очистить экран в питоне?

Большую часть времени, работая с интерактивной оболочкой / терминалом python (не консолью), мы получаем беспорядочный вывод и по какой-то причине хотим очистить экран.
В интерактивной оболочке / терминале мы можем просто использовать

Но что делать, если мы хотим очистить экран во время работы скрипта Python.
К сожалению, нет встроенного ключевого слова или функции / метода для очистки экрана. Итак, мы делаем это самостоятельно.

Мы можем использовать управляющую последовательность ANSI, но она не переносима и может не дать желаемого результата.

Итак, вот что мы собираемся сделать в нашем сценарии:

# импортировать только систему из ОС

from os import system, name

# import sleep, чтобы показать вывод за некоторый период времени

from time import sleep

# определить нашу понятную функцию

print ( ‘hello geeks\n’ * 10 )

# спать в течение 2 секунд после вывода на печать

# теперь вызываем функцию, которую мы определили выше
clear()

ПРИМЕЧАНИЕ. Вы также можете только «импортировать ОС» вместо «из системы импорта ОС», но при этом вам придется изменить систему («очистить») на os.system («очистить»).

Еще один способ сделать это — использовать модуль подпроцесса.

# импорт метода вызова из модуля подпроцесса

from subprocess import call

# import sleep, чтобы показать вывод за некоторый период времени

from time import sleep

# определить функцию очистки

# проверить и сделать звонок для конкретной операционной системы

_ = call( ‘clear’ if os.name = = ‘posix’ else ‘cls’ )

print ( ‘hello geeks\n’ * 10 )

# спать в течение 2 секунд после вывода на печать

# теперь вызываем функцию, которую мы определили выше
clear()

Источник

Очистить терминал в Python

Существует ли какой-либо стандартный метод «поставляется с батареями», чтобы очистить экран терминала от скрипта Python, или мне нужно проклинать (библиотеки, а не слова)?

ОТВЕТЫ

Ответ 1

Как насчет escape-последовательностей?

Ответ 2

Ответ 3

Почему никто не говорил о простом выполнении Ctrl + L в Windows или Cmd + L в Mac. Наверняка самый простой способ очистки экрана.

Ответ 4

Если вы находитесь в системе Linux/UNIX, тогда печать escape-последовательности ANSI для очистки экрана должна выполнять задание. Вы также хотите переместить курсор в верхнюю часть экрана. Это будет работать на любом терминале, поддерживающем ANSI.

Это не будет работать в Windows, если поддержка ANSI не включена. Для Windows может быть эквивалентная последовательность управления, но я не знаю.

Ответ 5

Для Windows, Mac и Linux вы можете использовать следующий код:

Ролика отметил, что end=»» не позволит печатать новую строку после этого.

Ответ 6

Что касается меня, самый элегантный вариант:

Ответ 7

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

Примечание. Это может считаться плохой формой для управления экраном терминала. Рассматриваете ли вы вариант? Вероятно, лучше было бы позволить пользователю решить, хочет ли он очистить экран.

Ответ 8

Решение Pure Python.
Не полагается ни на ANSI, ни на внешние команды.
Только ваш терминал должен иметь возможность рассказать вам, сколько строк находится в поле зрения.

версия Python >= 3.3.0

Ответ 9

Пришло какое-то время назад

Затем просто используйте clearscreen()

Ответ 10

Так что просто подумал, что я бросу свои два цента здесь.

Для тех, кому необходимо очистить экран терминала и прокрутить назад, по любой причине, вы можете использовать следующий код:

Это дает желаемый эффект. Он использует команду os.system(), поэтому, если это зло и кто-то знает способ реализовать это с помощью subprocess.call(), пожалуйста, прокомментируйте, поскольку я также предпочел бы использовать подпроцесс, но совсем не знаком с ним.

Ответ 11

Это очистит окно терминала.

Ответ 12

Это будет работать в обеих версиях Python2 ИЛИ Python3

Ответ 13

Эта функция работает в gnome-terminal, потому что по умолчанию она распознает escape-последовательности ANSI. Это дает вам расстояние CLEAN PROMPT rows_max от нижней части терминала, но также точно от того, где оно было вызвано. Дает вам полный контроль над тем, как очистить.

Для использования в интерактивном режиме: Сначала скопируйте и вставьте функцию copy(. ) в интерактивный режим и посмотрите, работает ли она для вас. Если это так, добавьте указанную выше функцию в файл с именем clear.py. В терминале запускается python, с ‘python3’. Введите:

Для использования в терминальном приложении: Поместите функцию copy(. ) в файл с именем clear.py в той же папке с вашим файлом main.py. Вот пример работы с абстрактным (скелетом) из приложения игры Tic Tac Toe (запуск из командной строки: python3 tictactoe.py):

Ответ 14

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

Ответ 15

Ответ 16

Источник

Очистка консоли после каждого принта

Как после каждого вывода текста в консоль функцией print, сразу чистить выведенный текст например:

Что бы после данного кода не выводило в консоль вот это:

А предидущий текст затирался, и на его месте появлялся новый, то есть должна быть одна строка которая плавно заполнится от одного # до #########, как это сделать?

4 ответа 4

Для управления консолью обычно используют ANSI, но Windows-консоль его не поддерживает, поэтому предварительно придётся воткнуть какой-нибудь костыль для его поддержки. Обычно устанавливают и используют модуль colorama:

Его установка и дружба с pycharm данного вопроса не касается, поэтому не буду это описывать.

Можно передвинуть курсор на один символ назад с помощью ASCII-символа BS (escape-последовательность \b ). После этого можно напечатать новый текст поверх старого:

Можно передвинуть курсор в начало строки с помощью возврата каретки ( \r ) и тоже напечатать что-нибудь поверх:

Можно стереть все символы от курсора до конца строки с помощью ANSI-последовательности \033[K (для Windows нужна вышеупомянутая colorama). В примере ниже переносим курсор на четыре символа влево и тем самым стираем последнее слово:

Выведет: foo bar! (от baz не будет и следа)

Если переместить курсор в начало строки, то можно стереть всю строку:

Выведет: Done! (без всяких решёточек)

Можно передвинуть курсор на одну строку вверх и в её начало с помощью \033[F :

Комбинируя всё вышеперечисленное, можно модифицировать ваш пример таким образом:

Но, возможно, для вашего частного случая намного лучше подойдёт вариант от mkkik 🙂

Источник

Любой способ очистить окно IDLE Python?

Я знаю, что есть похожая тема о консоли Python, но я не знаю, совпадают ли они. Я попробовал систему («очистить»), и она не сработала.

Как очистить окно IDLE Python?

28 ответов

Хотя вы могли бы поместить это в функцию:

А затем позвоните, когда это необходимо, как cls()

os.system(‘clear’) работает на Linux. Если вы используете Windows, попробуйте os.system(‘CLS’) вместо.

Вам нужно сначала импортировать ОС следующим образом:

Большинство ответов, отображаемых здесь, очищают команды очистки экрана подсказки DOS. Это не тот вопрос, который здесь задают. Другим ответом здесь была печать пустых строк, чтобы показать эффект очистки экрана.

Самый простой ответ на этот вопрос

Невозможно очистить оболочку Python IDLE без интеграции с внешним модулем. Если вы действительно хотите получить чистую чистую свежую оболочку, просто закройте предыдущую оболочку и запустите ее снова.

Ctrl + L очищает экран в Ubuntu Linux.

Расширение для очистки оболочки можно найти в Issue6143 как «запрос функции». Это расширение включено в IdleX.

Это прекрасно. Также не печатается «0».

Похоже, что нет способа очистить буфер «оболочки» IDLE.

Если вы выполняете это в консоли Python, вам нужно что-то сделать, чтобы скрыть возвращаемое значение (для os.system или же subprocess.call ), как присвоение его переменной:

«команда + L» для MAC OS X.

«contorl + L» для Ubuntu

Похоже, нет прямого способа очистить консоль IDLE.

Плюс: консоль запускается заново каждый раз при выполнении скрипта. Оборотная сторона: консоль запускается заново каждый раз при выполнении скрипта.

Мне нравится использовать:

В новом окне **

Проблема этого метода в том, что он очистит все, что вы определили, например переменные.

Кроме того, вы должны просто использовать командную строку.

открыть командную строку

введите «cd c:\python27»

Обратите внимание, что example.py должен находиться в том же каталоге, что и C:\python27, или в любом другом каталоге, в котором установлен Python.

Затем отсюда вы просто нажимаете клавишу со стрелкой ВВЕРХ на клавиатуре. Вы просто редактируете example.py, используете CTRL + S, затем возвращаетесь в командную строку, нажимаете клавишу со стрелкой ВВЕРХ, нажимаете ввод.

Если командная строка становится слишком загруженной, просто введите «clr»

Команда «clr» работает только с командной строкой, она не будет работать с IDLE.

Источник

Любой способ очистить окно IDLE Python?

Я знаю, что есть аналогичная тема о консоли python, но я не знаю, совпадают ли они. Я попробовал систему ( «clear» ), и она здесь не работала.

Как очистить окно IDLE python?

24 ответа

Хотя вы можете поместить это в функцию:

И затем назовите его, когда необходимо, в качестве cls()

Вам нужно сначала импортировать os следующим образом:

ctrl + L очищает экран от Ubuntu Linux.

Самый простой ответ на этот вопрос:

Невозможно очистить оболочку IDLE python без интеграции внешнего модуля. Если вы действительно хотите получить чистую чистую свежую оболочку, просто закройте предыдущую оболочку и запустите ее снова.

Расширение для очистки оболочки можно найти в Issue6143 как «запрос функции». Это расширение включено в IdleX.

Это прекрасно. Напечатано также «0».

Кажется, что нет способа очистки буфера оболочки IDLE.

Если вы выполняете это в консоли python, вам нужно что-то сделать, чтобы скрыть возвращаемое значение (для os.system или subprocess.call ), например присвоение переменной:

Я бы порекомендовал вам использовать 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, запустите файл, и ваша горячая клавиша активна.

В новом окне **

Выполнить → оболочка Python

Проблема с этим методом заключается в том, что он очистит все, что вы определили, например переменные.

Кроме того, вы должны просто использовать командную строку.

открыть командную строку

введите «cd c:\python27»

введите «python example.py», вы должны отредактировать это, используя IDLE, когда он не находится в интерактивном режиме. Если вы находитесь в оболочке python, файл → новое окно.

Обратите внимание, что example.py должен находиться в том же каталоге, что и C:\python27, или в любом каталоге, на котором установлен python.

Затем отсюда вы просто нажимаете клавишу со стрелкой вверх на клавиатуре. Вы просто отредактируете example.py, используйте CTRL + S, затем вернитесь в командную строку, нажмите стрелку вверх, нажмите enter.

Если командная строка слишком переполнена, просто введите «clr»

Команда «clr» работает только с командной строкой, она не будет работать с IDLE.

Источник

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

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