web-dev-qa-db-ja.com

spyder-メモリから変数とともに変数エクスプローラーをクリアする

コンソールをクリアするには、次のコマンドを使用できます-

import subprocess as sp
tmp = sp.call('cls',Shell=True)

ただし、メモリから変数を削除するには、多くの場合、

  • delコマンドの使用
  • 変数エクスプローラーのドロップダウンメニューを使用して手動で変数を削除する

ただし、どちらも変数によって異なるため、時間がかかります。メモリから変数を削除し、その後Spyderの変数エクスプローラーから変数を削除するための一般的なコマンド(MATLABのclearなど)もあります。

11
dataLeo

Webサーフィンをしていて、スクリプトを再度実行するたびに変数Explorerをクリアするという厄介な問題を解決するハックを見つけました。

_def clear_all():
    """Clears all the variables from the workspace of the spyder application."""
    gl = globals().copy()
    for var in gl:
        if var[0] == '_': continue
        if 'func' in str(globals()[var]): continue
        if 'module' in str(globals()[var]): continue

        del globals()[var]
if __name__ == "__main__":
    clear_all()
    # insert here your code
_

基本的に、それは他のすべての直前に関数clear_all()を実行することで構成されます。自分で同じMatlabの関数を書いています。 ここ ソリューションが提案されたgitの問題へのリンク。

0
Leos313

answerKaran Kaw によって提供されるように、作業中のスクリプトに関係なく、すべての変数を削除する設定があります。

以下を実行します(ドロップダウンバーから)

> Tools> Preferences> Run

Remove all the variables before executionチェックボックスGeneral Setting セクション。これを行うには、Spyder 3.3.4を使用します。

作業中のすべてのスクリプトを、すべての変数を予防的に削除して実行する場合は、この完了が適切な場合があります。それが役に立てば幸い

0
Matteo Zambra