Подтвердить что ты не робот

Очистить экран в оболочке

Просто быстрый вопрос:
Как очистить экран в оболочке? Я видел такие способы, как:

import os
os.system('cls')

Это просто открывает окно cmd, очищает экран и закрывается, но Я хочу, чтобы окно оболочки было очищено
(PS: Я не знаю, что это помогает, но я использую версию 3.3.2 Python)
Спасибо:)

4b9b3361

Ответ 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()