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

Как и большинство разработчиков Python, я обычно открываю окно консоли с помощью интерпретатора Python для тестирования команд, материалов dir (), справки () и т. Д.

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

Я слышал о системном вызове и вызове cls на Windows или в Linux, но я надеялся, что я могу заставить сам интерпретатор сделать это.

Примечание. Я работаю в Windows, поэтому Ctrl + L не работает.

30 Solutions collect form web for “Как очистить консоль интерпретатора?”

Как вы упомянули, вы можете выполнить системный вызов:

 >>> import os >>> clear = lambda: os.system('cls') >>> clear() 

В Windows я не уверен в другом.

здесь что-то удобное, что немного больше кросс-платформенного

 import os def cls(): os.system('cls' if os.name=='nt' else 'clear') # now, to clear the screen cls() 

Ну, вот быстрый взлом:

 >>> clear = "\n" * 100 >>> print clear >>> ...do some other stuff... >>> print clear 

Или, чтобы сохранить некоторую типизацию, поместите этот файл в путь поиска python:

 # wiper.py class Wipe(object): def __repr__(self): return '\n'*1000 wipe = Wipe() 

Тогда вы можете сделать это от переводчика все, что вам нравится 🙂

 >>> from wiper import wipe >>> wipe >>> wipe >>> wipe 

Хотя это более старый вопрос, я думал, что внес свой вклад в то, что я считаю лучшим из других ответов, и добавьте свой собственный морщин, предложив вам вставить эти команды в файл и установить PYTHONSTARTUP чтобы указать на нее. Так как я нахожусь в Windows на данный момент, он слегка смещен таким образом, но может легко наклоняться в другом направлении.

Вот несколько статей, которые я нашел, которые описывают, как устанавливать переменные среды в Windows:
Когда использовать sys.path.append и при изменении% PYTHONPATH% достаточно
Как управлять переменными среды в Windows XP
Настройка переменных системы и пользовательской среды
Как использовать переменные глобальной системной среды в Windows

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

Во всяком случае, вот мой код, чтобы добавить (или добавить к существующему) скрипт запуска Python:

 # ==== pythonstartup.py ==== # add something to clear the screen class cls(object): def __repr__(self): import os os.system('cls' if os.name == 'nt' else 'clear') return '' cls = cls() # ==== end pythonstartup.py ==== 

BTW, вы также можете использовать трюк @ Triptych's __repr__ чтобы изменить exit() в простое __repr__ (и то же, что и его exit alias):

 class exit(object): exit = exit # original object def __repr__(self): self.exit() # call original return '' quit = exit = exit() 

Наконец, вот что-то другое, которое меняет запрос первичного интерпретатора от >>> до cwd + >>> :

 class Prompt: def __str__(self): import os return '%s >>> ' % os.getcwd() import sys sys.ps1 = Prompt() del sys del Prompt 

Самый быстрый и простой способ – это Ctrl + L.

Это то же самое для OS X на терминале.

У вас есть несколько способов сделать это в Windows:

1. Использование сочетания клавиш:

 Press CTRL + L 

2. Использование метода вызова системы:

 import os cls = lambda: os.system('cls') cls() 

3. Использование новой печати строки 100 раз:

 cls = lambda: print('\n'*100) cls() 

мой способ сделать это – написать такую ​​функцию:

 import os,subprocess def clear(): if os.name in ('nt','dos'): subprocess.call("cls") elif os.name in ('linux','osx','posix'): subprocess.call("clear") else: print "\n"*120 

затем вызовите clear() чтобы очистить экран. это работает на windows, osx, linux, bsd … все ОС.

Стеклоохладительно классно, хорошо, что мне не нужно набирать '()' вокруг него. Здесь небольшая вариация

 # wiper.py import os class Cls(object): def __repr__(self):    os.system('cls') return '' 

Использование довольно простое:

 >>> cls = Cls() >>> cls # this will clear console. 

Вот окончательное решение, которое объединяет все другие ответы . Особенности:

  1. Вы можете скопировать-вставить код в свою оболочку или скрипт.
  2. Вы можете использовать его как хотите:

     >>> clear() >>> -clear >>> clear # <- but this will only work on a shell 
  3. Вы можете импортировать его в виде модуля:

     >>> from clear import clear >>> -clear 
  4. Вы можете назвать это сценарием:

     $ python clear.py 
  5. Это действительно мультиплатформенный ; если он не может распознать вашу систему
    ( ce , nt , dos или posix ), он вернется к печати пустых строк.


Вы можете скачать [полный] файл здесь: https://gist.github.com/3130325
Или если вы просто ищете код:

 class clear: def __call__(self): import os if os.name==('ce','nt','dos'): os.system('cls') elif os.name=='posix': os.system('clear') else: print('\n'*120) def __neg__(self): self() def __repr__(self): self();return '' clear=clear() 

Используйте простоя. Он имеет много удобных функций. Например, Ctrl + F6 сбрасывает консоль. Закрытие и открытие консоли – это хорошие способы ее очистки.

Я использую iTerm и родное приложение терминала для Mac OS.

Я просто нажимаю ⌘ + k

Я использую MINGW / BASH для Windows XP, SP3.

(вставьте это в .pythonstartup)
# Мой ctrl-l уже работал, но это может помочь кому-то другому
# оставляет подсказку внизу окна, хотя …
import readline
readline.parse_and_bind ('\ Cl: clear-screen)

# Это работает в BASH, потому что у меня оно тоже .inputrc, но для некоторых
# причина, по которой он падает, когда я перехожу на Python
readline.parse_and_bind ('\ Cy: kill-whole-line')


Я больше не мог печатать «exit ()» и был в восторге от трюков Мартино / Триптиха:

Я слегка его усовершенствовал (застрял в .pythonstartup)

 class exxxit(): """Shortcut for exit() function, use 'x' now""" quit_now = exit # original object def __repr__(self): self.quit_now() # call original x = exxxit() 

 Py2.7.1>help(x) Help on instance of exxxit in module __main__: class exxxit | Shortcut for exit() function, use 'x' now | | Methods defined here: | | __repr__(self) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | quit_now = Use exit() or Ctrl-Z plus Return to exit 

Как насчет этого для ясного

 - os.system('cls') 

Это примерно так коротко, как может быть!

Команда ОС, clear в Linux и cls в Windows, выводит «волшебную строку», которую вы можете просто распечатать. Чтобы получить строку, выполните команду с помощью popen и сохраните ее в переменной для последующего использования:

 from os import popen with popen('clear') as f: clear = f.read() print clear 

На моей машине строка равна '\x1b[H\x1b[2J' .

Я новичок в python (действительно очень новый), и в одной из книг, которые я читаю, чтобы познакомиться с языком, которым они учат, как создать эту небольшую функцию, чтобы очистить консоль видимого отставания и прошлых команд и отпечатков:

Открыть оболочку / Создать новый документ / Создать функцию следующим образом:

 def clear(): print('\n' * 50) 

Сохраните его в папке lib в каталоге python (my is C: \ Python33 \ Lib). В следующий раз, когда вам не удалось очистить консоль, просто вызовите функцию с помощью:

 clear() 

это оно. PS: вы можете назвать свою функцию в любом случае. Я видел, как люди, использующие «очиститель», «вытирают» и изменяют.

Я нашел, что самый простой способ – просто закрыть окно и запустить модуль / скрипт для повторного открытия оболочки.

просто используйте это ..

print '\n'*1000

Я не уверен, поддерживает ли Windows «оболочка», но в Linux:

print "\033[2J"

https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes

По-моему, вызов cls с os – это плохая идея вообще. Представьте, если мне удастся изменить команду cls или clear в вашей системе, и вы запустите свой скрипт как admin или root.

Я могу опаздывать на эту часть, но здесь очень простой способ сделать это

Тип:

 def cls(): os.system("cls") 

Так что вы хотите очистить экран, просто введите свой код

 cls() 

Лучший способ! (Кредит: https://www.youtube.com/watch?annotation_id=annotation_3770292585&feature=iv&src_vid=bguKhMnvmb8&v=LtGEp9c6Z-U )

EDIT: Я только что прочитал «окна», это для пользователей Linux, извините.


В bash:

 #!/bin/bash while [ "0" == "0" ]; do clear $@ while [ "$input" == "" ]; do read -p "Do you want to quit? (y/n): " -n 1 -e input if [ "$input" == "y" ]; then exit 1 elif [ "$input" == "n" ]; then echo "Ok, keep working ;)" fi done input="" done 

Сохраните его как «whatyouwant.sh», chmod + x затем запустите:

 ./whatyouwant.sh python 

или что-то другое, чем python (бездействует, что угодно). Это спросит вас, действительно ли вы хотите выйти, если не перезапустить python (или команду, которую вы дали как параметр).

Это очистит все, экран и все переменные / объект / все, что вы создали / импортировали в python.

В python просто введите exit (), когда вы хотите выйти.

Это должно быть кросс-платформой, а также использовать предпочтительный subprocess.call вместо os.system в соответствии с документами os.system . Должен работать в Python> = 2.4.

 import subprocess import os if os.name == 'nt': def clearscreen(): subprocess.call("cls", shell=True) return else: def clearscreen(): subprocess.call("clear", shell=True) return 

Хорошо, так что это гораздо менее технический ответ, но я использую плагин Python для Notepad ++, и, оказывается, вы можете просто очистить консоль вручную, щелкнув правой кнопкой мыши на нем и нажав «очистить». Надеюсь, это поможет кому-то!

Магические строки упомянуты выше – я считаю, что они взяты из базы данных terminfo:

http://www.google.com/?q=x#q=terminfo

http://www.google.com/?q=x#q=tput+command+in+unix

$ tput clear | od -t x1z 0000000 1b 5b 48 1b 5b 32 4a>. [H. [2J <0000007

Я использую Spyder (Python 2.7), и для очистки консоли интерпретатора я использую либо

%Чисто

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

или я нажимаю «вариант» в среде Console и выбираю «Перезапустить ядро», которое удаляет все.

Вот два замечательных способа сделать это:

1.

 import os # Clear Windows command prompt. if (os.name in ('ce', 'nt', 'dos')): os.system('cls') # Clear the Linux terminal. elif ('posix' in os.name): os.system('clear') 

2.

 import os def clear(): if os.name == 'posix': os.system('clear') elif os.name in ('ce', 'nt', 'dos'): os.system('cls') clear() 
 >>> ' '*80*25 

UPDATE : 80×25 вряд ли будет размером с консольными окнами, поэтому, чтобы получить реальные размеры консоли, используйте функции из модуля пейджера . Python не предоставляет ничего подобного из основного распределения.

 >>> from pager import getheight >>> '\n' * getheight() 

Если его на mac просто cmd + k делает трюк

В командной строке введите «cls» и нажмите enter.

В Spyder, когда вы хотите очистить все переменные в вашем переменном Explorer, просто введите global (). Clear () в консоли, и они все исчезнут.

https://github.com/adoxa/ansicon/releases

Существует инструмент, который вы можете установить для Windows, а затем использовать следующую печать: print "\ x1b [2J"

См. Ссылку для инструмента ниже:

  • Установка Theano на EPD (Windows x64)
  • OpenCV для Python 3.x под Windows
  • Детерминированный скрипт python ведет себя недетерминированным образом
  • CherryPy препятствует отключению Twisted в Windows
  • Можно ли использовать sys.platform == 'win32' для проверки на 64-битном Python?
  • Какие части виртуального пространства необходимо изменить, чтобы переместить его?
  • pickle.load () повышение EOFError в Windows
  • ошибка с функцией parse в lxml
  •  
    Interesting Posts for Van-Lav

    Как отобразить изображение и получить координату клика мыши на нем

    Странное поведение Pywin32 при использовании слова

    Инструмент для преобразования кода MATLAB в Python

    Как читать двоичный файл на S3 с помощью boto?

    Библиотека Python для внедрения поставщика услуг и поставщика удостоверений на основе SAML2?

    Интерфейс Conky

    Почему Python2.7 dict использует больше пространства, чем Python3 dict?

    Pygame камера следовать в 2d плитки

    Существует ли эквивалент Python оператора C # null-coalescing?

    Почему мое значение переменной не передается блоку finally в python

    как настроить параметры пользовательской функции ядра с помощью конвейера в scikit-learn

    Запуск scipy.integrate.ode в многопроцессорном пуле приводит к огромному результату

    Как вы делаете что-то после визуализации представления? (Джанго)

    Разметка пунктуации регулярных выражений

    Заменить метод __str__ на объект списка в Python

    Python - лучший язык программирования в мире.