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

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

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

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

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

  • python: unicode в терминале Windows, используется кодировка?
  • Создание скрипта Python в широком масштабе
  • Получить общую длину видео в определенном каталоге в python
  • любая идея, как обновить Python PIP на окне окна?
  • Проблема установки Python matplotlib в Windows 7 для freetype, пакетов png
  • Как проверить, является ли версия Windows подлинной или нет?
  • как я могу обновить scipy в winpython на окнах?
  • Запуск Cython в Windows x64 - фатальная ошибка C1083: невозможно открыть файл include: basetsd.h: нет такого файла или каталога
  • 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"

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

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