Очистить экран в оболочке
Просто быстрый вопрос:
Как очистить экран в оболочке?
Я видел такие способы, как:
import os
os.system('cls')
Это просто открывает окно cmd, очищает экран и закрывается, но
Я хочу, чтобы окно оболочки было очищено
(PS: Я не знаю, что это помогает, но я использую версию 3.3.2 Python)
Спасибо:)
Ответы
Ответ 1
Для OS X вы можете использовать модуль подпроцесса и вызывать 'cls' из оболочки:
import subprocess as sp
sp.call('cls',shell=True)
Чтобы не показывать "0" сверху окна, замените вторую строку следующим образом:
tmp = sp.call('cls',shell=True)
Для linux вы должны заменить команду cls
на clear
tmp = sp.call('clear',shell=True)
Ответ 2
Как насчет ярлыка CTRL + L?
Он работает для всех оболочек, например. Python, Bash, MySQL, MATLAB и т.д.
Ответ 3
import os
os.system('cls') # For Windows
os.system('clear') # For Linux/OS X
Ответ 4
То, что вы ищете, можно найти в модуле curses.
то есть.
import curses # Get the module
stdscr = curses.initscr() # initialise it
stdscr.clear() # Clear the screen
Важное примечание
Важно помнить, что перед любым выходом вам нужно reset терминал в нормальный режим, это можно сделать со следующими строками:
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
Если вы этого не сделаете, вы получите все странное поведение. Чтобы это всегда было сделано, я бы предложил использовать модуль atexit, например:
import atexit
@atexit.register
def goodbye():
""" Reset terminal from curses mode on exit """
curses.nocbreak()
if stdscr:
stdscr.keypad(0)
curses.echo()
curses.endwin()
Скорее всего, будет хорошо.
Ответ 5
Помимо универсальной библиотеки CLI, click
также предоставляет независимую от платформы функцию clear()
:
import click
click.clear()
Ответ 6
используя окна 10 и pyhton3.5, я проверил множество кодов и ничего не помог мне больше:
Сначала определите простую функцию, эта функция будет печатать 50 строк новой строки (число 50 будет зависеть от того, сколько строк вы увидите на экране, чтобы вы могли изменить это число)
def cls(): print ("\n" * 50)
то просто назовите его столько раз, сколько хотите, или вам нужно
cls()
Ответ 7
Ниже приведены некоторые параметры, которые можно использовать в Windows
Первый вариант:
import os
cls = lambda: os.system('cls')
>>> cls()
Вторая опция:
cls = lambda: print('\n' * 100)
>>> cls()
Третий вариант, если вы находитесь в окне Python REPL:
Ctrl+L
Ответ 8
Эта функция работает в любой ОС (Unix, Linux, macOS и Windows)
Python 2 и Python 3
import platform # For getting the operating system name
import subprocess # For executing a shell command
def clear_screen():
"""
Clears the terminal screen.
"""
# Clear command as function of OS
command = "cls" if platform.system().lower()=="windows" else "clear"
# Action
return subprocess.call(command) == 0
В окнах команда cls
, в системах unix -l ike команда clear
.
platform.system()
возвращает имя платформы. Ex. 'Darwin'
для macOS.
subprocess.call()
выполняет системный вызов. Ex. subprocess.call(['ls','-l'])
Ответ 9
Более простой способ очистки экрана в то время как в python - использовать Ctrl + L, хотя он работает как с оболочкой, так и с другими программами.
Ответ 10
Если вы используете терминал linux для доступа к python, то cntrl + l - лучшее решение для очистки экрана
Ответ 11
Command+K
отлично работает в OSX для очистки экрана.
Shift+Command+K
чтобы очистить только буфер прокрутки.
Ответ 12
import curses
stdscr = curses.initscr()
stdscr.clear()
Ответ 13
Подпроцесс позволяет вам вызвать "cls" для Shell.
import subprocess
cls = subprocess.call('cls',shell=True)
Это так просто, как я могу это сделать. Надеюсь, это сработает для вас!
Ответ 14
-
вы можете использовать Window or Linux Os
import os
os.system('cls')
os.system('clear')
-
вы можете использовать модуль подпроцесса
import subprocess as sp
x=sp.call('cls',shell=True)
Ответ 15
os.system('cls')
работает нормально, когда я их открываю. Открывается в стиле cmd.
Ответ 16
Я использую класс, который просто использует один из вышеуказанных методов за кулисами... Я заметил, что он работает в Windows и Linux... Мне нравится использовать его, хотя, потому что его легче набирать clear() вместо system ('clear') ) или os.system('очистить')
pip3 install clear-screen
from clear_screen import clear
а затем, когда вы хотите очистить оболочку:
clear()