Hoe variabelen in ipython wissen?

Soms voer ik een script opnieuw uit binnen dezelfde ipython-sessie en krijg ik onaangename verrassingen wanneer variabelen niet zijn gewist. Hoe wis ik alle variabelen?
En is het mogelijk om dit op de een of andere manier te forceren elke keer dat ik het magische commando %run aanroep?

Bedankt


Antwoord 1, autoriteit 100%

%resetlijkt gedefinieerde variabelen te wissen.


Antwoord 2, autoriteit 28%

BEWERKT na opmerking van @ErdemKAYA.

Gebruik het magische commando om een variabele te wissen:

%reset_selective <regular_expression>

De variabelen die uit de naamruimte worden gewist, zijn de variabelen die overeenkomen met de opgegeven <regular_expression>.

Daarom

%reset_selective -f a 

wist allevariabelen die een abevatten.

In plaats daarvan, om alleen ate wissen en niet aa:

In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a  # raise NameError
In: aa  # returns 2

zie ook %reset_selective?voor meer voorbeelden en https://regexone.com /voor een regex-zelfstudie.

Om alle variabelen in de naamruimte te wissen, zie:

%reset?

Antwoord 3, autoriteit 20%

In iPython kun je een enkelevariabele als volgt verwijderen:

del x

Antwoord 4, autoriteit 8%

Ik heb het geprobeerd

%reset -f

en alle variabelen en inhoud gewist zonder prompt. -fvoert de geforceerde actie uit op het gegeven commando zonder te vragen om ja/nee.

Wou dat dit helpt.. 🙂


Antwoord 5, autoriteit 5%

Als u de volgende regels aan een nieuw script toevoegt, worden alle variabelen gewist telkens wanneer u het script opnieuw uitvoert:

from IPython import get_ipython
get_ipython().magic('reset -sf') 

Om het leven gemakkelijk te maken, kun je ze toevoegen aan je standaardsjabloon.

In Spyder: Tools>Preferences>Editor>Edit template


Antwoord 6, autoriteit 3%

Afgezien van de eerder genoemde methoden. Je kunt ook het commando del gebruiken om meerdere variabelen te verwijderen

del variable1,variable2

Antwoord 7

Een stopoptie in het consolepaneel wist ook alle variabelen in de variabelenverkenner

*** Houd er rekening mee dat u alle code verliest die u in het consolepaneel hebt uitgevoerd

Other episodes