簡単な質問:
シェルで画面をクリアするにはどうすればよいですか? 私は次のような方法を見てきました:
import os
os.system('cls')
これは単にWindowsコマンドを開き、画面をクリアして閉じますが、シェルウィンドウをクリアしたいです
(PS:これが役立つかどうかはわかりませんが、Pythonのバージョン3.3.2を使用しています)
ありがとう:)
ショートカットCTRL+はLどうですか?
Python、Bash、MySQL、MATLAB などのすべてのシェルで機能します。
import os
os.system('cls') # For Windows
os.system('clear') # For Linux/OS X
macOS/OS X の場合、subprocess モジュールを使用して、シェルから「cls」を呼び出すことができます。
import subprocess as sp
sp.call('cls', shell=True)
ウィンドウの上に「0」が表示されないようにするには、2 行目を次のように置き換えます。
tmp = sp.call('cls', shell=True)
Linux の場合、cls
コマンドをclear
tmp = sp.call('clear', shell=True)
あなたが探しているものは 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()
おそらくうまくいくでしょう。
万能の優れた CLI ライブラリであることに加えてclick
、プラットフォームに依存しないclear()
機能も提供します。
import click
click.clear()
Python で画面をクリアする簡単な方法はCtrl+を使用するLことですが、これはシェルや他のプログラムでも機能します。
舞台裏で上記のメソッドのいずれかを使用するクラスを使用しています... Windows と Linux で動作することに気付きました... system('clear' ではなく clear() と入力する方が簡単なので、使用するのが好きです) または os.system('clear')
pip3 install clear-screen
from clear_screen import clear
そして、シェルをクリアしたいとき:
clear()
Windows 10とpyhton3.5を使用して、多くのコードをテストしましたが、これ以上の助けにはなりませんでした:
最初に単純な関数を定義します。この関数は 50 個の改行を出力します (50 という数字は、画面に表示できる行数に依存するため、この数字を変更できます)。
def cls(): print ("\n" * 50)
その後、必要に応じて何度でも呼び出します
cls()
os.system('cls')
それらを開くと正常に動作します。cmd スタイルで開きます。
WindowまたはLinux Osを使用できます
import os
os.system('cls')
os.system('clear')
サブプロセスモジュールを使用できます
import subprocess as sp
x=sp.call('cls',shell=True)