Я знаю, что есть аналогичная тема о консоли python, но я не знаю, совпадают ли они. Я попробовал систему ( "clear" ), и она здесь не работала.
Как очистить окно IDLE python?
Я знаю, что есть аналогичная тема о консоли python, но я не знаю, совпадают ли они. Я попробовал систему ( "clear" ), и она здесь не работала.
Как очистить окно IDLE python?
"cls" и "clear" - это команды, которые очищают терминал (например, приглашение DOS или окно терминала). На скриншоте вы используете оболочку в IDLE, которая не будет затронута такими вещами. К сожалению, я не думаю, что есть способ очистить экран в IDLE. Лучшее, что вы можете сделать, это прокрутить экран вниз по множеству строк, например:
print "\n" * 100
Хотя вы можете поместить это в функцию:
def cls(): print "\n" * 100
И затем назовите его, когда необходимо, в качестве cls()
os.system('clear')
работает с linux. Если вы используете Windows, попробуйте os.system('CLS')
.
Вам нужно сначала импортировать os следующим образом:
import os
ctrl + L очищает экран от Ubuntu Linux.
Большинство ответов здесь очищают экран приглашения DOS с командами очистки, что не является вопросом. Другие ответы здесь, печатали пустые строки, чтобы показать эффект очистки экрана.
Самый простой ответ на этот вопрос
Невозможно очистить оболочку Python IDLE без интеграции с внешним модулем. Если вы действительно хотите получить чистую чистую свежую оболочку, просто закройте предыдущую оболочку и запустите ее снова.
Расширение для очистки оболочки можно найти в Issue6143 как "запрос функции". Это расширение включено в IdleX.
>>> import os
>>>def cls():
... os.system("clear")
...
>>>cls()
Это прекрасно. Напечатано также "0".
Способ выполнения команд в Python 2.4+ состоит в использовании модуля subprocess. Вы можете использовать его так же, как вы используете os.system
.
import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows
Если вы выполняете это в консоли python, вам нужно что-то сделать, чтобы скрыть возвращаемое значение (для os.system
или subprocess.call
), например присвоение переменной:
cls = subprocess.call("cls", shell=True)
Кажется, что нет способа очистки буфера оболочки IDLE.
Мне нравится использовать:
import os
clear = lambda : os.system('cls') # or clear for Linux
clear()
Файл → Новое окно
В новом окне **
Выполнить → оболочка Python
Проблема с этим методом заключается в том, что он очистит все, что вы определили, например переменные.
Кроме того, вы должны просто использовать командную строку.
открыть командную строку
введите "cd c:\python27"
введите "python example.py", вы должны отредактировать это, используя IDLE, когда он не находится в интерактивном режиме. Если вы находитесь в оболочке python, файл → новое окно.
Обратите внимание, что example.py должен находиться в том же каталоге, что и C:\python27, или в любом каталоге, на котором установлен python.
Затем отсюда вы просто нажимаете клавишу со стрелкой вверх на клавиатуре. Вы просто отредактируете example.py, используйте CTRL + S, затем вернитесь в командную строку, нажмите стрелку вверх, нажмите enter.
Если командная строка слишком переполнена, просто введите "clr"
Команда "clr" работает только с командной строкой, она не будет работать с IDLE.
" команда + L " для MAC OS X.
" control + L " для Ubuntu
Очищает последнюю строку в интерактивном сеансе
Лучший способ сделать это в Windows - использовать командную строку 'cmd' и получить доступ к каталогу python. Командная строка может быть найдена в меню пускa > run > cmd
C:\>cd Python27
C:\Python27>python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>import os
>>>os.system('cls') #This will clear the screen and return the value 0
Вы можете сделать AutoHotKey script.
Чтобы установить ctrl-r в горячую клавишу, чтобы очистить оболочку:
^r::SendInput print '\n' * 50 {Enter}
Просто установите AutoHotKey, поместите вышеуказанное в файл с именем idle_clear.ahk, запустите файл, и ваша горячая клавиша активна.
Ни один из этих решений не работал у меня в Windows 7 и в IDLE. Раньше, используя PowerShell, запустив в нем Python и выйдя на вызов "cls" в PowerShell, чтобы очистить окно.
CONS: Предполагается, что Python уже находится в переменной PATH. Кроме того, это очищает переменные Python (хотя перезагружает оболочку).
PROS: Сохраняет все сделанные вами настройки окна (цвет, размер шрифта).
Я бы порекомендовал вам использовать Thonny IDE для Python. В этой оболочке есть опция "Clear Shell", и вы также можете отслеживать переменные, созданные в отдельном списке. Отладка очень хороша даже по сравнению с современными IDE. Вы также можете написать код в файле Python вместе с доступом к оболочке в том же месте.
И его легкий!
используйте этот
for num in range(1,100):
print("\n")
Кажется, это невозможно сделать без какой-либо внешней библиотеки.
Альтернативный способ, если вы используете окна и не хотите открывать и закрывать оболочку каждый раз, когда вы хотите ее очистить, - это использовать командную строку Windows.
Введите python
и нажмите Enter, чтобы отключить командную строку Windows на python (убедитесь, что установлен python).
Введите quit()
и нажмите Enter, чтобы вернуть его обратно в командную строку Windows.
Введите cls
и нажмите enter, чтобы очистить командную строку/оболочку Windows.
Похоже, что нет прямого способа очистки консоли IDLE.
Один из способов сделать это - использовать exit() в качестве последней команды в моем скрипте Python (.py). Когда я запускаю скрипт, он всегда открывает новую консоль и выдает запрос перед выходом.
Перевернутая: Консоль запускается заново каждый раз, когда выполняется скрипт. Недостаток: Консоль запускается заново каждый раз, когда выполняется скрипт.
Как отметил mark.ribau, кажется, что нет способа очистить виджет Text в режиме ожидания. Нужно отредактировать модуль EditorWindow.py
и добавить метод и элемент меню в класс EditorWindow, который сделает что-то вроде:
self.text.tag_remove("sel", "1.0", "end")
self.text.delete("1.0", "end")
и, возможно, еще некоторое управление тегами, о котором я не знаю.
Если вы хотите очистить буфер оболочки, перейдите в shell > restart shell в IDLE. Ваш вопрос немного расплывчатый. Вы хотите очистить буфер оболочки или пытаетесь вызвать команду ОС?
Это работает для меня в Windows:
print chr(12)
from subprocess import call as c
def cls():
c("cls",shell=True)
print([x for x in range(10000)])
cls()
Всякий раз, когда вы хотите очистить консоль, вызовите функцию cls, но обратите внимание, что эта функция очистит экран в Windows, только если вы используете Python Script с помощью приглашения cmd, он не очистит буфер, если вы используете IDLE.
Ваш скриншот показывает, что вы используете IDLE. cls
/clear
не будет работать для вас.
Для этого не нужно писать собственную функцию! Python имеет встроенную функцию очистки.
Введите в командной строке следующее:
shell.clear()
Если вы используете IPython
для Windows, это
cls()
Если вы используете терминал (я использую ubuntu), просто используйте комбинацию CTRL + l с клавиатуры, чтобы очистить python script, даже он очищает терминал script...