Ipython'daki değişkenler nasıl temizlenir?


146

Bazen bir senaryoyu aynı ipython oturumu içinde tekrar çalıştırırım ve değişkenler temizlenmediğinde kötü sürprizlerle karşılaşırım. Tüm değişkenleri nasıl temizlerim? % Run sihirli komutunu her çağırışımda bunu bir şekilde zorlamak mümkün mü?

Teşekkürler

Yanıtlar:


206

%reset tanımlı değişkenleri temizliyor gibi görünüyor.


2
Teşekkürler. Her% çalıştırmadan önce otomatik olarak ayarlamanın bir yolu var mı?
çekirge

2
Komut dosyanızı genel ad alanını temiz tutmak için bir işleve dönüştürebilirsiniz.
Robert Pollak

35
% Reset -f bulundu, kullanıcı onayı olmadan global ad alanını temizler
WillJones

1
evet sıfırlama -f harika, artık her seferinde manuel olarak onaylamanıza gerek yok :)
user3723247

1
@Victor %ipython sihirli komutları için kullanılır burada %reset ipython.readthedocs.io/en/stable/interactive/…
aisbaa

56

@ErdemKAYA yorumundan sonra DÜZENLENDİ.

Bir değişkeni silmek için magic komutunu kullanın:

%reset_selective <regular_expression>

Ad alanından silinen değişkenler, verilenle eşleşen değişkenlerdir <regular_expression>.

bu nedenle

%reset_selective -f a 

içeren tüm değişkenleri silecektir a.

Bunun yerine, yalnızca silmek adeğil aa:

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

%reset_selective?daha fazla örnek için de bakınız ve normal ifade öğreticisi için https://regexone.com/ .

Ad alanındaki tüm değişkenleri silmek için bkz:

%reset?

9
Aksi takdirde python'dan "del a" da kullanılabilir.
SeF

1
Hayır, bu komut name_variableregex deyimi olarak davranacak ve onunla eşleşen her şeyi kaldıracaktır.
Erdem KAYA

@ErdemKAYA teşekkürler, daha önce hiç fark etmedim! Yanıt düzenlendi.
SeF

1
Bir şey değil! :) Gerçekten biraz sezgisel karşı.
Erdem KAYA

37

İPython'da aşağıdaki gibi tek bir değişkeni kaldırabilirsiniz :

del x

13

denedim

%reset -f

ve istemeden tüm değişkenleri ve içerikleri temizledi. evet / hayır-f sormadan verilen komuttaki kuvvet eylemini gerçekleştirir .

Bunun yardımcı olmasını dilerim .. :)


9

Yeni bir komut dosyasına aşağıdaki satırları eklemek, komut dosyasını her yeniden çalıştırdığınızda tüm değişkenleri temizler:

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

Hayatı kolaylaştırmak için bunları varsayılan şablonunuza ekleyebilirsiniz.

Spyder'da: Tools>Preferences>Editor>Edit template


Ben de bir komut dosyasından çalıştırılabilir gibi bunu seviyorum.
Zargo

4

Daha önce bahsedilen yöntemlerin dışında. Birden fazla değişkeni kaldırmak için del komutunu da kullanabilirsiniz

del variable1,variable2

0

Konsol Panelindeki bir çıkma seçeneği, değişken gezginindeki tüm değişkenleri de temizler

*** Konsol Panelinde çalıştırdığınız tüm kodu kaybedeceğinizi unutmayın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.