関数の途中に次のコードを書いて、少数を除くすべての変数を削除しました。Pythonはループを介してローカル変数を削除します
dontDelete = ['Cat','Dog']
for vi in dir(): #'Cat','Dog','Pig','Elephant','Lion'
if vi in dontDelete:
continue
else:
del locals()[vi]
しかし、それはdel locals()[vi]
声明
EDIT1に行くにもかかわらず、すべての変数を削除しません:私は、関数の途中でメモリが不足しています。そこで、関数内でローカルに持つ変数を100個取り除くことを考えました。私は上記のスニペットを、私がやっていることを示すために書いただけです。
Edit2:誰かがこの質問に対して否定的な投票をなぜ説明することができますか?私が欠けている明らかな解決策はありますか?
編集3:私がやっていることの途中で別の機能を作成できません。だから、私は、ドキュメントから音符当たりの削除変数オプション
なぜあなたはこれをやっていますか?あなたが解決しようとしている実際の問題は何ですか? – jonrsharpe
解決しようとしている問題は、自動メモリ管理システムによってほぼ確実に解決されています。 – user2357112
また、['locals's docs](https://docs.python.org/2/library/functions.html#locals)もチェックしてください。 – user2357112