쉘에서 화면 지우기
간단한 질문입니다.
쉘에서 화면을 어떻게 지우나요? 나는 다음과 같은 방법을 보았습니다.
import os
os.system('cls')
이것은 단지 창 cmd를 열고 화면을 지우고 닫히지 만 쉘 창을 지우고 싶습니다
(PS : 도움이되지는 않지만 Python 3.3.2 버전을 사용하고
있습니다 ) 감사합니다 :)
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)
단축키 CTRL+는 L어떻습니까?
Python, Bash, MySQL, MATLAB 등 모든 셸에서 작동합니다.
import os
os.system('cls') # For Windows
os.system('clear') # For Linux/OS X
당신이 찾고있는 것은 curses 모듈에서 찾을 수 있습니다.
즉
import curses # Get the module
stdscr = curses.initscr() # initialise it
stdscr.clear() # Clear the screen
중요 사항
기억해야 할 중요한 사항은 종료하기 전에 터미널을 일반 모드로 재설정해야한다는 것입니다. 다음 줄을 사용하여 수행 할 수 있습니다.
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()
아마 멋지게 할 것입니다.
다음은 Windows에서 사용할 수있는 몇 가지 옵션입니다.
첫 번째 옵션 :
import os
cls = lambda: os.system('cls')
>>> cls()
두 번째 옵션 :
cls = lambda: print('\n' * 100)
>>> cls()
Python REPL 창에있는 경우 세 번째 옵션 :
Ctrl+L
다재다능한 CLI 라이브러리 click
일뿐만 아니라 플랫폼에 구애받지 않는 clear()
기능 도 제공 합니다.
import click
click.clear()
이 기능은 모든 OS (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
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'])
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.
If you are using linux terminal to access python, then cntrl+l is the best solution to clear screen
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()
Command+K
works fine in OSX to clear screen.
Shift+Command+K
to clear only the scrollback buffer.
import curses
stdscr = curses.initscr()
stdscr.clear()
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!
you can Use Window Or Linux Os
import os os.system('cls') os.system('clear')
you can use subprocess module
import subprocess as sp x=sp.call('cls',shell=True)
os.system('cls')
works fine when I open them. It opens in cmd style.
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()
참고URL : https://stackoverflow.com/questions/18937058/clear-screen-in-shell
'developer tip' 카테고리의 다른 글
Python 16 진수 (0) | 2020.11.07 |
---|---|
변경 사항이있는 경우 Laravel Eloquent 업데이트 (0) | 2020.11.07 |
부호없는 정수를 가장 가까운 더 작거나 같은 짝수 정수로 반올림하려면 2로 나눈 다음 2를 곱할 수 있습니까? (0) | 2020.11.06 |
Netbeans 작업 영역을 어떻게 새로 고치나요? (0) | 2020.11.06 |
Python에서 가상 메서드를 구현하는 방법은 무엇입니까? (0) | 2020.11.06 |