我在函數的中間寫了下面的代碼來刪除除少數之外的所有變量。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個變量。我寫了上面的代碼片段來展示我正在尋找的東西。
編輯2:有人可以解釋爲什麼在這個問題上反對票。有沒有明顯的解決方案,我錯過了。
編輯3:我無法在我正在做的事情中創建另一個函數。所以,我想從文檔嘗試刪除變量選項
你爲什麼要這樣做?你試圖解決的實際問題是什麼? – jonrsharpe
您嘗試解決的問題幾乎可以通過自動內存管理系統解決。 – user2357112
此外,你真的應該檢查['locals'文檔](https://docs.python.org/2/library/functions.html#locals)。 – user2357112