Clear screen in shell

非 Y 不嫁゛ 提交于 2019-11-26 08:49:45

问题


Just a quick question:
How do you clear the screen in shell? I\'ve seen ways like:

import os
os.system(\'cls\')

This just opens the windows cmd, clears the screen and closes but I want the shell window to be cleared
(PS: I don\'t know this helps, but I\'m using version 3.3.2 of Python)
Thank you :)


回答1:


For OS X, you can use subprocess module and call 'cls' from shell:

import subprocess as sp
sp.call('cls',shell=True)

To prevent '0' from showing on top of the window, replace the 2nd line with:

tmp = sp.call('cls',shell=True)

For linux, you must replace cls command with clear

tmp = sp.call('clear',shell=True)



回答2:


What about the shortcut CTRL+L?

It works for all shells e.g. Python, Bash, MySQL, MATLAB, etc.




回答3:


import os

os.system('cls')  # For Windows
os.system('clear')  # For Linux/OS X



回答4:


The sort of thing that you are looking for is to be found in the curses module.

i.e.

import curses  # Get the module
stdscr = curses.initscr()  # initialise it
stdscr.clear()  # Clear the screen

Important Note

The important thing to remember is before any exit, you need to reset the terminal to a normal mode, this can be done with the following lines:

curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()

If you don't you will get all sort of strange behaviour. To ensure that this is always done I would suggest using the atexit module, something like:

import atexit

@atexit.register
def goodbye():
    """ Reset terminal from curses mode on exit """
    curses.nocbreak()
    if stdscr:
        stdscr.keypad(0)
    curses.echo()
    curses.endwin()

Will probably do nicely.




回答5:


Here are some options that you can use on Windows

First option:

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

>>> cls()

Second option:

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

>>> cls()

Third option if you are in Python REPL window:

Ctrl+L



回答6:


In addition to being an all-around great CLI library, click also provides a platform-agnostic clear() function:

import click
click.clear()



回答7:


This function works in any OS (Unix, Linux, macOS, and Windows)
Python 2 and 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

In windows the command is cls, in unix-like systems the command is clear.
platform.system() returns the platform name. Ex. 'Darwin' for macOS.
subprocess.call() performs a system call. Ex. subprocess.call(['ls','-l'])




回答8:


If you are using linux terminal to access python, then cntrl+l is the best solution to clear screen




回答9:


An easier way to clear a screen while in python is to use Ctrl + L though it works for the shell as well as other programs.




回答10:


using windows 10 and pyhton3.5 i have tested many codes and nothing helped me more than this:

First define a simple function, this funtion will print 50 newlines;(the number 50 will depend on how many lines you can see on your screen, so you can change this number)

def cls(): print ("\n" * 50)

then just call it as many times as you want or need

cls()



回答11:


Command+K works fine in OSX to clear screen.

Shift+Command+K to clear only the scrollback buffer.




回答12:


I am using a class that just uses one of the above methods behind the scenes... I noticed it works on Windows and Linux... I like using it though because it's easier to type clear() instead of system('clear') or os.system('clear')

pip3 install clear-screen

from clear_screen import clear

and then when you want to clear the shell:

clear()



回答13:


import curses
stdscr = curses.initscr()
stdscr.clear()



回答14:


Subprocess allows you to call "cls" for Shell.

import subprocess
cls = subprocess.call('cls',shell=True)

That's as simple as I can make it. Hope it works for you!




回答15:


  1. you can Use Window Or Linux Os

    import os
    os.system('cls')
    os.system('clear')
    
  2. you can use subprocess module

    import subprocess as sp
    x=sp.call('cls',shell=True)
    



回答16:


os.system('cls') works fine when I open them. It opens in cmd style.



来源:https://stackoverflow.com/questions/18937058/clear-screen-in-shell

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!