Pythonで画面(コンソール)をクリアする方法を解説
Pythonでプログラムを実行していると、大量の出力によって画面が埋め尽くされ、表示を整理するために画面をクリアしたくなる場面があります。
対話型シェル(REPL)であれば、Control + L を押すだけで簡単に画面をクリアできます。しかし、プログラムの出力量や表示のフォーマットに応じて、スクリプトの中から動的に画面をクリアしたいケースもあります。そのような場合は、Pythonスクリプト内に画面クリア用のコマンドを組み込む必要があります。
osモジュールのsystem()関数を使う
Pythonで画面をクリアするには、標準ライブラリの os モジュールが提供する system() 関数を使用します。
ポイントは、OSごとにクリア用のコマンドが異なることです。
- Windows:
clsコマンドを使用 - Mac / Linux:
clearコマンドを使用
そこで、os.name の値を判定して処理を分岐させます。os.name が 'posix' であれば Mac / Linux 系、それ以外('nt')であれば Windows と判断できます。
また、サンプルコードでは _(アンダースコア)変数に os.system() の戻り値を代入しています。_ は対話型インタプリタにおいて「最後に評価された式の値」を保持する特殊な変数です。ここでは戻り値を破棄する目的で使われています。
コード例
import os
from time import sleep
# 画面クリア用の関数
def screen_clear():
# Mac および Linux の場合(os.name は 'posix')
if os.name == 'posix':
_ = os.system('clear')
else:
# Windows プラットフォームの場合
_ = os.system('cls')
# テキストを出力
print("The platform is: ", os.name)
print("big output\n" * 5)
# 5秒待機してから画面をクリア
sleep(5)
# 上で定義した関数を呼び出し
screen_clear()
実行結果
上記のコードを実行すると、まず次のような出力が表示されます。
The platform is: nt big output big output big output big output big output
この出力は、5秒経過した時点で screen_clear() 関数が呼ばれ、結果ウィンドウから消去されます。このように os.system() を活用すれば、プラットフォームに応じた適切なコマンドで、プログラムの任意のタイミングで画面をクリアできるようになります。
-
Windowsコマンドプロンプトの画面をクリアする方法
重要なポイントコマンドプロンプトでclsと入力し、Enterキーを押すと、画面全体がクリアされます。コマンドプロンプトを閉じて再度開くことでも画面をクリアできます。ウィンドウ右上のXをクリックして閉じ、通常どおりに開き直してください。ESCキーを押すと、入力中のテキスト行がクリアされ、コマンドプロンプトに戻ります。この記事では、Windowsのコマンドプロンプトで画面をクリアする方法を解説します。簡単なコマンドを使うか、コマンドプロンプトを一度閉じて開き直すだけでOKです。記事の最後には、行・文字・単語を消去するための便利なキー操作もご紹介します。コマンドでコマンドプロンプトの画面をクリアする
-
Pythonで文字列がASCIIのみで構成されているかどうかを確認する方法
Pythonで文字列がすべてASCII文字だけで構成されているかどうかを判定したい場面は少なくありません。ここでは、代表的な2つの方法をわかりやすく解説します。 方法1:all()とord()を使って1文字ずつチェックする 最もシンプルな方法は、文字列内の各文字を順番に調べ、その文字コード(Unicodeコードポイント)が128未満であるかを確認することです。ASCIIは0〜127のコードポイントで定義されているため、すべての文字がこの範囲内であれば、その文字列はASCIIのみで構成されていると判断できます。 def is_ascii(s): return all(ord(c) <