[解決済み] Pythonスクリプトの途中ですべての変数をクリアするにはどうすればよいですか?
質問
Matlabの'clear'に似たものを探しています。ワークスペースからすべての変数を削除し、システムメモリからそれらを解放するコマンド/関数です。Pythonにそのようなものはありますか?
EDIT: ある時点ですべての変数をクリアするスクリプトを書きたいのですが、どうすればいいですか?
どのように解決するのですか?
以下の一連のコマンドで削除されます。 あらゆる という名前を現在のモジュールから削除します。
>>> import sys
>>> sys.modules[__name__].__dict__.clear()
なぜなら、"every name"にはすべてのビルトインが含まれるので、このように完全に消去された後にできることはあまりないからです。 Pythonには変数というものがないことを思い出してください。 オブジェクト モジュール、関数、クラス、数値、文字列、...など)、そして 名前 このシーケンスが行うのは、モジュールからすべての名前を削除することです(対応するオブジェクトは、それらへのすべての参照が削除された場合にのみ、消滅します)。
もっと厳選したいのかもしれませんが、もっと具体的に言わないと正確に推測するのは難しいです。 でも、一応、例を挙げておくと
>>> import sys
>>> this = sys.modules[__name__]
>>> for n in dir():
... if n[0]!='_': delattr(this, n)
...
>>>
このシーケンスでは、プライベートや魔法のような名前だけを残し、その中には
__builtins__
という特殊な名前で、すべての組み込み名を格納しています。 ですから、ビルトインはまだ機能します -- 例えば。
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'n']
>>>
ご覧の通り、名前
n
(その中の制御変数
for
の中で再バインドされているため)、たまたまその辺に張り付いているのです。
for
という名前にしたほうがいいかもしれません。
_
例えば、quot;それは特別なものであることを明確に示すために(さらに、インタラクティブ・インタープリタでは、名前
_
は、プロンプトで式を完全に入力するたびに、その式の値に再バインドされるので、長くは残りません;-)。
とにかく は そのための関数を定義し、スタートアップファイル(対話型セッションでのみ使用する場合)またはサイトカスタマイズファイル(すべてのスクリプトで使用する場合)に記述することは難しくありません。
関連
-
Python Decorator 練習問題
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python jiabaライブラリの使用方法について説明
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] 作成した変数や関数などをインタプリタのメモリから削除する方法はありますか?