web-dev-qa-db-ja.com

PythonのIDLEウィンドウをクリアする方法はありますか?

私はPythonコンソールについて同様のトピックがあることは知っていますが、それらが同じかどうかはわかりません。私はシステム( "クリア")を試してみましたが、それはここでは動作しませんでした。

PythonのIDLEウィンドウをクリアするにはどうすればいいですか?

136

"cls"と "clear"は端末をクリアするコマンドです(すなわちDOSプロンプトまたは端末ウィンドウ)。あなたのスクリーンショットから、あなたはIDLE内でシェルを使用しています。残念ながら、IDLEの画面をクリアする方法はないと思います。最善の方法は、画面をたくさんの行にスクロールすることです。

print "\n" * 100

ただし、これを関数に入れることもできます。

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

そしてcls()として必要に応じてそれを呼び出します

90
Brian

os.system('clear')はLinux上で動作します。あなたがwindowsを走らせているなら、代わりにos.system('CLS')を試してください。

あなたは最初にこのようにosをインポートする必要があります:

import os
69
Nadia Alramli

ctrl + L Ubuntu Linuxでは画面をクリアします。

36
shxfee

ここに表示される回答のほとんどは、DOSプロンプト画面の消去コマンドを消去するためのものです。ここで尋ねられた質問ではありません。ここに掲載されている他の答えは、画面の消去効果を示すために空白行を印刷することでした。

この質問の最も簡単な答えは

外部モジュールを統合しないとpython IDLE Shellをクリアすることはできません。あなたが本当に空白の純粋な新鮮なシェルを取得したい場合はちょうど前のシェルを閉じて、もう一度それを実行します

28
Abdul Rehman

シェルをクリアするための拡張は、 Issue 614 に "feature request"としてあります。この拡張子は IdleX に含まれています。

17
Roger
>>> import os

>>>def cls():
...    os.system("clear")
...
>>>cls()

それは完璧です。どちらも印刷されません。

14
Derk Smith

Python 2.4以降でコマンドを実行する方法は、 サブプロセス モジュールを使用することです。 os.systemを使うのと同じ方法でそれを使うことができます。

import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", Shell=True) # windows

Pythonコンソールでこれを実行している場合は、戻り値を隠すために何かをする必要があります(os.systemまたはsubprocess.callのいずれかの場合)。それに変数を代入するのと同じです。

cls = subprocess.call("cls", Shell=True)
8
Rudd Zwolinski

IDLEの「シェル」バッファをクリアする方法はないようです。

8
Mark Ribau

MAC OS Xの場合は "command + L"です。

Ubuntuの場合 "control + L"

対話式セッションの最後の行を消去します

3
Darshan N S

Pythonの場合は Thonny IDE を使用することをお勧めします。それはShellに "Clear Shell"オプションがあり、あなたは別のリストで作成された変数を追跡することもできます。最近のIDEと比較しても、デバッグは非常に優れています。同じ場所でシェルへのアクセスと一緒にpythonファイルにコードを書くこともできます。

そしてその軽量!

2
zHs

私は使うのが好きです。

import os
clear = lambda : os.system('cls') # or clear for Linux

clear()
2
lfsando

これらの解決策のどれも私にとってはWindows 7とIDLEの中ではうまくいきませんでした。 PowerShellを使用してPythonを実行し、PowerShellで "cls"を呼び出してウィンドウをクリアすることを終了しました。

欠点:PythonはすでにPATH変数に入っていると仮定します。また、これはあなたのPython変数をクリアします(ただし、シェルを再起動します)。

PROS:これまでに行ったウィンドウのカスタマイズ(色、フォントサイズ)を保持します。

2
Draghon

ファイル - >新しいウィンドウ

新しいウィンドウで**

実行 - > Pythonシェル

この方法の問題点は、変数など、定義したものすべてが消去されることです。

代わりに、あなたは単にコマンドプロンプトを使うべきです。

コマンドプロンプトを開く

「cd c:\ python27」と入力します。

「python example.py」と入力します。インタラクティブモードでない場合は、IDLEを使用してこれを編集する必要があります。あなたがPythonシェルにいるなら、ファイル - >新しいウィンドウ。

Example.pyはC:\ python27と同じディレクトリか、pythonをインストールしたディレクトリにある必要があります。

それからここから、キーボードの上矢印キーを押すだけです。あなたはただexample.pyを編集し、CTRL + Sを使って、それからコマンドプロンプトに戻り、上矢印キーを押し、エンターを押してください。

コマンドプロンプトが混雑しすぎた場合は、単に "clr"と入力してください。

"clr"コマンドはコマンドプロンプトでのみ機能し、IDLEでは機能しません。

2

AutoHotKey スクリプトを作ることができます。

シェルをクリアするには、ctrl-rをホットキーに設定します。

^r::SendInput print '\n' * 50 {Enter}

AutoHotKeyをインストールし、idle_clear.ahkというファイルに上記を入れて、ファイルを実行するだけで、あなたのホットキーはアクティブになります。

2
Scruffy

ウィンドウズでそれをする最も良い方法はコマンドPrompt 'cmd'を使用してpythonディレクトリにアクセスすることです。コマンドPromptはスタート・メニュー> run> cmdにあります。

C:\>cd Python27
C:\Python27>python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>import os
>>>os.system('cls')  #This will clear the screen and return the value 0
2
Al-Ani

これを使って

for num in range(1,100):
    print("\n")
1
Tauseef

外部のライブラリなしでそれをすることは不可能であるようです。

あなたがウィンドウを使用していて、あなたがそれをクリアしたいと思う度にシェルを開いたり閉じたりしたくないのであれば別の方法はwindowsコマンドPromptを使うことです。

  • pythonと入力してEnterキーを押し、windowsコマンドをpythonのアイドル状態にする(pythonがインストールされていることを確認します)ようにします。

  • quit()と入力してEnterキーを押すと、Windowsコマンドプロンプトに戻ります。

  • clsと入力してEnterキーを押すと、Prompt/windows Shellコマンドが消去されます。

1
KeepMove
from subprocess import call as c

def cls():

    c("cls",Shell=True)

print([x for x in range(10000)])

cls()

コンソールをクリアしたい場合は常に関数clsを呼び出してください。ただし、cmd Promptを使用してPythonスクリプトを実行している場合にのみ、この関数はWindowsの画面をクリアします。

0
Akash Rana

Mark.ribauが言ったように、アイドル状態のテキストウィジェットをクリアする方法はないようです。 EditorWindow.pyモジュールを編集して、EditorWindowクラスに次のような方法とメニュー項目を追加する必要があります。

self.text.tag_remove("sel", "1.0", "end")
self.text.delete("1.0", "end")

そしておそらく私は気付いていないいくつかのより多くのタグ管理。

0
tzot

これは私にはWindowsで動作します。

print chr(12)

0
Joel Vroom

シェルバッファをクリアしたい場合は、シェル>シェルをIDLEで再起動してください。あなたの質問は少しあいまいです。シェルバッファをクリアしますか、それともOSコマンドを呼び出そうとしていますか?

0
IanStallings

あなたのスクリーンショットはあなたがIDLEを使っていることを示しています。 cls/clearは動作しません。

0
orip