[解決済み] 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;それは特別なものであることを明確に示すために(さらに、インタラクティブ・インタープリタでは、名前
_
は、プロンプトで式を完全に入力するたびに、その式の値に再バインドされるので、長くは残りません;-)。
とにかく は そのための関数を定義し、スタートアップファイル(対話型セッションでのみ使用する場合)またはサイトカスタマイズファイル(すべてのスクリプトで使用する場合)に記述することは難しくありません。
関連
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み] 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ショートビデオクローラーチュートリアル
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 作成した変数や関数などをインタプリタのメモリから削除する方法はありますか?