간단한 질문입니다.
쉘에서 화면을 어떻게 지우나요? 나는 다음과 같은 방법을 보았습니다.
import os
os.system('cls')
이것은 창 cmd를 열고 화면을 지우고 닫지 만 쉘 창을 지우고 싶습니다
(PS : 도움이되지는 않지만 Python 3.3.2 버전을 사용하고
있습니다 ) 감사합니다 🙂
답변
macOS / 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
Windows에서 명령은 cls
이고, 유닉스 계열 시스템에서는 명령이 clear
입니다.
platform.system()
플랫폼 이름을 반환합니다. 전의. 'Darwin'
macOS 용.
subprocess.call()
시스템 호출을 수행합니다. 전의.subprocess.call(['ls','-l'])