Как очистить консоль в python?
Как сделать так, чтобы очистило консоль? Я пытался очистить командой «cls», но выводит ошибку. Как это сделать?
- Вопрос задан более двух лет назад
- 183 просмотра
Комментировать
Решения вопроса 1
Для linux os.system(‘clear’) , для windows os.system(‘cls’)
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1

Yupiter7575 @yupiter7575
Python программист
Если у вас открыт пайтон командой python то пишите quit(), затем cls
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +2 ещё
Как починить хендрел в aiogram?
- 1 подписчик
- 2 часа назад
- 3 просмотра
Очистка консоли

Лёгкий (для профессионалов) вопрос = какая команда есть для очистки консоли (типа написал cls он очистил командную строку) (когда прога уже исполняется)?
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Очистка консоли python (Debian)
Необходимо очищать консоль после каждых изменений введенных пользователем. Не хитрый метод.
Очистка консоли, очистка строки, установка курсора
Здравствуйте! Подскажите как можно после очистки консоли поставить курсор в самый вверх, чтоб то.
Очистка консоли
Всем здравствуйте. Начал изучать JAVA в консоль пишу/читаю без проблем. Решил очистить консоль.

Очистка консоли
Есть ли в java команда, написав которую, все , что было написано до этой функции в консоле.
131 / 117 / 29
Регистрация: 09.07.2019
Сообщений: 1,068
Записей в блоге: 4

Сообщение было отмечено Alex_199 как решение
Решение
import os os.system('cls')
Регистрация: 14.11.2019
Сообщений: 67
спс, оч благодарен, что не поленились ответить, да ещё и это прочитать
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Очистка консоли
Простите за нубские вопросы, но как очистить консоль в программе ruby?
Очистка консоли
Здравствуйте подскажите пожалуйста как мне на с++ (каким способом) можно в процессе исполнения.
Очистка экрана консоли
Существует ли функция, наподобие system(cls) в С или clrscr в Pascal, полностью очищающая экран.
Очистка экрана в консоли
Добрый день. Столкнулся со следующей проблемой! Допустим есть консольное приложение, которое.

Очистка консоли по условию
Имеем кусок кода: public static double Calculating() //вычисление ‘x’ переменной < .
Или воспользуйтесь поиском по форуму:
Очистить терминал в Python
Простым и кроссплатформенным решением было бы использовать либо команду cls в Windows, либо clear в Unix системах. Используется с os.system , это делает хорошую однострочную команду:
import os os.system('cls' if os.name == 'nt' else 'clear')
Поделиться 18 января 2010 в 08:09
Что насчет последовательностей экранирования?
print(chr(27) + "[2J")
Поделиться 18 января 2010 в 07:38
Почему никто не говорил о том, чтобы просто сделать Ctrl + L в Windows или Cmd + L на Mac. Наверняка, самый простой способ очистки экрана.
Поделиться 29 октября 2014 в 19:44
Что касается меня, самый элегантный вариант:
import os os.system('cls||clear')
Поделиться 29 апреля 2016 в 14:48
Для Windows, Mac и Linux вы можете использовать следующий код:
import subprocess, platform if platform.system()=="Windows": if platform.release() in : subprocess.run("", shell=True) #Needed to fix a bug regarding Windows 10; not sure about Windows 11 print("\033c", end="") else: subprocess.run(["cls"]) else: #Linux and Mac print("\033c", end="")
- подчеркивание моргания: «\033[0 q»
- блочное моргание: «\033[1 q»
- блок: «\033[2 q»
- подчеркивание моргания: «\033[3 q»
- подчеркивание: «\033[4 q»
- тонкое моргание строки: «\033[5 q»
- тонкая строка: «\033[6 q» (цифры выше 6 тоже так делают)
Также обратите внимание, что вы можете сделать любую из этих вещей, чтобы очистить экран на Linux:
- print(«\033c», end=»»):
- print(«\u001bc», end=»»)
- print(«\U0000001bc», end=»»)
- print(«\x1bc», end=»»)
- subprocess.run([«clear»]) #Это не сбрасывает весь терминал
- subprocess.run(‘echo -ne «\033c»‘, shell=True)
- subprocess.run(‘echo -ne «\ec»‘, shell=True)
- subprocess.run(‘echo -ne «\u001bc»‘, shell=True)
- subprocess.run(‘echo -ne «\U0000001bc»‘, shell=True)
- subprocess.run(‘echo -ne «\x1bc»‘, shell=True)
- subprocess.run(«printf ‘\033c'»,shell=True)
- subprocess.run(«printf ‘\ec'», shell=True)
- subprocess.run(«printf ‘\u001bc'», shell=True)
- subprocess.run(«printf ‘\U0000001bc'», shell=True)
- subprocess.run(«printf ‘\x1bc'», shell=True)
Я считаю, что следующий код должен очистить содержимое, которое нужно прокрутить вверх, чтобы увидеть (но его трудно использовать вместе с другой командой без проблем):
- print(«\033[3J»)
Это может сделать то же самое, что раньше делал clear (чтобы вы могли прокручивать вверх, чтобы увидеть, что было удалено, за исключением того, что это не повышает курсор до верха):
- print(«\033[2J»)
Поделиться 15 апреля 2014 в 05:14
Если вы используете систему Linux/UNIX, то печать последовательности экранирования ANSI для очистки экрана должна сделать эту работу. Вам также нужно будет переместить курсор в верхнюю часть экрана. Это будет работать на любом терминале, который поддерживает ANSI.
import sys sys.stderr.write("\x1b[2J\x1b[H")
Это не будет работать на Windows, если поддержка ANSI не была включена. Может быть, есть эквивалентная последовательность управления для Windows, но я не знаю.
Поделиться 18 января 2010 в 07:50
print("\033c")
Это очистит окно терминала.
Поделиться 19 июня 2018 в 06:25
Сталкивался с этим некоторое время назад
def clearscreen(numlines=100): """Clear the console. numlines is an optional argument used only as a fall-back. """ # Thanks to Steven D'Aprano, http://www.velocityreviews.com/forums if os.name == "posix": # Unix/Linux/MacOS/BSD/etc os.system('clear') elif os.name in ("nt", "dos", "ce"): # DOS/Windows os.system('CLS') else: # Fallback for other operating systems. print('\n' * numlines)
Затем просто используйте clearscreen()
Поделиться 24 июня 2017 в 19:32
Это будет работать в обеих версиях Python2 ИЛИ Python3
print (u"<>[2J<>[;H".format(chr(27), chr(27)))
Поделиться 23 октября 2018 в 13:00
Вы можете попробовать полагаться на понятность, но она может быть недоступна на всех дистрибутивах Linux. В Windows используются cls, как вы упоминали.
import subprocess import platform def clear(): subprocess.Popen( "cls" if platform.system() == "Windows" else "clear", shell=True) clear()
Примечание: Это может считаться плохой формой для управления экраном терминала. Вы рассматриваете возможность использовать вариант? Вероятно, лучше было бы позволить пользователю решить, хочет ли он очистить экран.
Поделиться 26 января 2011 в 17:54
Поэтому я просто подумал, что я бы бросил свои два цента здесь.
Никто не предоставил истинный ответ на вопрос ОП, кажется, все либо отвечают с помощью ‘НЕ ИСПОЛЬЗУЙТЕ os.system() это зло. ‘ без объяснений, либо предоставляют решение, которое опирается на печать новых строк.
Для тех, кто должен очистить экран терминала и прокрутить обратно по какой-либо причине, вы можете использовать следующий код:
import os def clear(): ''' Clears the terminal screen and scroll back to present the user with a nice clean, new screen. Useful for managing menu screens in terminal applications. ''' os.system('cls' if os.name == 'nt' else 'echo -e \\\\033c') print('A bunch of garbage so we can garble up the screen. ') clear() # Same effect, less characters. def clear(): ''' Clears the terminal screen and scroll back to present the user with a nice clean, new screen. Useful for managing menu screens in terminal applications. ''' os.system('cls||echo -e \\\\033c')
Это имеет желаемый эффект ОП. Он использует команду os.system(), поэтому, если это зло, и кто-то знает способ реализации этого с помощью subprocess.call(), пожалуйста, прокомментируйте, так как я также предпочел бы использовать subprocess, но я совсем не знаком с ним.
Поделиться 16 июня 2017 в 14:02
Чистое решение на Python.
Не полагается ни на ANSI, ни на внешние команды.
Только ваш терминал должен иметь возможность сообщить вам, сколько строк находится в представлении.
from shutil import get_terminal_size print("\n" * get_terminal_size().lines, end='')
Версия Python >= 3.3.0
Поделиться 01 июня 2014 в 12:58
Эта функция работает в gnome-терминале, потому что по умолчанию она распознает последовательности экранирования ANSI. Она дает вам чистый PROMPT rows_max расстояние от нижней части терминала, но также точно от того, где он был вызван. Дает вам полный контроль над тем, сколько нужно очистить.
def clear(rows=-1, rows_max=None, *, calling_line=True, absolute=None, store_max=[]): """clear(rows=-1, rows_max=None) clear(0, -1) # Restore auto-determining rows_max clear(calling_line=False) # Don't clear calling line clear(absolute=5) # Absolutely clear out to 5 rows up""" from os import linesep if rows_max and rows_max != -1: store_max[:] = [rows_max, False] elif not store_max or store_max[1] or rows_max == -1 or absolute: try: from shutil import get_terminal_size columns_max, rows_max = get_terminal_size() except ImportError: columns_max, rows_max = 80, 24 if absolute is None: store_max[:] = [rows_max, True] if store_max: if rows == -1: rows = store_max[0] elif isinstance(rows, float): rows = round(store_max[0] * rows) if rows > store_max[0] - 2: rows = store_max[0] - 2 if absolute is None: s = ('\033[1A' + ' ' * 30 if calling_line else '') + linesep * rows else: s = '\033[<>A'.format(absolute + 2) + linesep if absolute > rows_max - 2: absolute = rows_max - 2 s += (' ' * columns_max + linesep) * absolute + ' ' * columns_max rows = absolute print(s + '\033[<>A'.format(rows + 1))
clear() # Clear all, TRIES to automatically get terminal height clear(800, 24) # Clear all, set 24 as terminal (max) height clear(12) # Clear half of terminal below if 24 is its height clear(1000) # Clear to terminal height - 2 (24 - 2) clear(0.5) # float factor 0.0 - 1.0 of terminal height (0.5 * 24 = 12) clear() # Clear to rows_max - 2 of user given rows_max (24 - 2) clear(0, 14) # Clear line, reset rows_max to half of 24 (14-2) clear(0) # Just clear the line clear(0, -1) # Clear line, restore auto-determining rows_max clear(calling_line=False) # Clear all, don't clear calling line clear(absolute=5) # Absolutely clear out to 5 rows up
Параметры: rows — это количество чистых текстовых строк, которые нужно добавить между подсказкой и нижней частью терминала, что увеличивает все. rows_max — это высота терминала (или максимальная высота очистки) в текстовых строках, и ее нужно установить только один раз, но можно сбросить в любое время. *, в положении третьего параметра означает, что все следующие параметры являются ключевым словом (например, clear(absolute=5)). calling_line=True (по умолчанию) работает лучше в интерактивном режиме. calling_line=False работает лучше для текстовых, терминальных приложений. absolute был добавлен для попытки исправить глючные проблемы в интерактивном режиме после уменьшения размера терминала, но также может использоваться для терминальных приложений. store_max предназначен только для секретного «постоянного» хранения значения rows_max ; не используйте этот параметр явно. (Когда аргумент не передается для store_max , изменение содержимого списка store_max изменяет значение по умолчанию этого параметра. Следовательно, постоянное хранение.)
Для использования в интерактивном режиме: Сначала скопируйте и вставьте функцию copy(. ) в интерактивный режим и посмотрите, работает ли она для вас. Если это так, то поместите вышеуказанную функцию в файл с именем clear.py. В терминале запустите python с помощью ‘python3’. Введите:
>>> import sys >>> sys.path ['', '/usr/lib/python3.3', .
Теперь переместите файл clear.py в один из перечисленных каталогов path , чтобы Python мог его найти (не перезаписывать существующие файлы). Чтобы легко использовать с этого момента:
>>> from clear import clear >>> clear() >>> print(clear.__doc__) clear(rows=-1, rows_max=None) clear(0, -1) # Restore auto-determining rows_max clear(calling_line=False) # Don't clear calling line clear(absolute=5) # Absolutely clear out to 5 rows up
Для использования в терминальном приложении: Поместите функцию copy(. ) в файл с именем clear.py в той же папке с вашим файлом main.py. Вот рабочий абстрактный (скелетный) пример из игрового приложения Tic Tac Toe (запущенного из терминального окна: python3 tictactoe .py):
from os import linesep class TicTacToe: def __init__(self): # Clear screen, but not calling line try: from clear import clear self.clear = clear self.clear(calling_line=False) except ImportError: self.clear = False self.rows = 0 # Track printed lines to clear # . self.moves = [' '] * 9 def do_print(self, *text, end=linesep): text = list(text) for i, v in enumerate(text[:]): text[i] = str(v) text = ' '.join(text) print(text, end=end) self.rows += text.count(linesep) + 1 def show_board(self): if self.clear and self.rows: self.clear(absolute=self.rows) self.rows = 0 self.do_print('Tic Tac Toe') self.do_print(''' | | | | | | ----------- | | | | | | ----------- | | | | | |'''.format(*self.moves)) def start(self): self.show_board() ok = input("Press to continue. ") self.moves = ['O', 'X'] * 4 + ['O'] self.show_board() ok = input("Press to close.") if __name__ == "__main__": TicTacToe().start()
Объяснение: do_print(. ) на строке 19 — это версия print(. ) , необходимая для отслеживания количества новых строк, которые были напечатаны ( self.rows ). В противном случае, вам придется использовать self.rows += 1 по всему месту, где вызывается print(. ) во всей программе. Поэтому каждый раз, когда доска перерисовывается, вызывая show_board() , предыдущая доска очищается, а новая доска печатается именно там, где она должна быть. Обратите внимание, что self.clear(calling_line=False) на строке 9 в основном перемещает все вверх RELATIVE в низ терминала, но не очищает исходную вызывающую строку. В отличие от этого, self.clear(absolute=self.rows) на строке 29 абсолютно очищает все расстояние self.rows вверх, а не просто перемещает все вверх относительно нижней части терминала.
Пользователи Ubuntu с Python 3.3: Поместите #!/usr/bin/env python3 в первую строку файла tictactoe.py. Щелкните правой кнопкой мыши на файле tictactoe.py => Свойства => Вкладка разрешений => Проверьте выполнение: Разрешить выполнение файла как программы . Дважды щелкните на файле => Нажмите кнопку Запустить в терминале. Если текущий каталог открытого терминала является каталогом файла tictactoe.py, вы также можете запустить файл с помощью ./tictactoe.py .
Поделиться 31 января 2014 в 01:45
В Windows вы можете использовать:
Python. Как очистить консоль?
Нужно чтобы было выведено число 5. А через 3 секунды экран очистился.
Как это сделать?
Голосование за лучший ответ
import os
os.system(‘clear’)
Александр МокануУченик (220) 3 года назад

Black Afgano Просветленный (22262) Александр Мокану, если у вас Windows, то команда os.system(‘cls’)
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.