IPython में वैरिएबल को कैसे साफ़ करें?


146

कभी-कभी मैं एक ही ipython सत्र के भीतर एक स्क्रिप्ट को फिर से पढ़ता हूं और मुझे बुरा आश्चर्य होता है जब चर साफ नहीं किए जाते हैं। मैं सभी चर कैसे साफ़ करूं? और क्या यह संभव है कि किसी भी समय मैं हर बार मैजिक कमांड% रन को लागू करूं?

धन्यवाद

जवाबों:


206

%reset परिभाषित चर स्पष्ट करने के लिए लगता है।


2
धन्यवाद। प्रत्येक% चलाने से पहले इसे स्वचालित रूप से सेट करने का कोई तरीका?
टिड्डा

2
वैश्विक नाम स्थान को साफ रखने के लिए आप अपनी स्क्रिप्ट को एक फ़ंक्शन में बदल सकते हैं।
राबर्ट पोलाक

35
उपयोगकर्ता के पुष्टि के बिना वैश्विक नाम स्थान को केवल% रीसेट -f मिला
WillJones

1
हाँ रीसेट -f महान है, मैन्युअल रूप से हर बार पुष्टि करने की कोई आवश्यकता नहीं है :)
user3723247

1
@Victor %का उपयोग ipython मैजिक कमांड के लिए किया जाता है, यहाँ %reset ipython.readthedocs.io/en/stable/interactive/…
aisbaa

56

@ErdemKAYA टिप्पणी के बाद पूरा।

एक चर को मिटाने के लिए, जादू कमांड का उपयोग करें:

%reset_selective <regular_expression>

नाम से मिटाए गए चर, दिए गए मिलान वाले हैं <regular_expression>

इसलिये

%reset_selective -f a 

सभी चर को मिटा देगा जिसमें a a

इसके बजाय, केवल aऔर मिटाने के लिए aa:

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

साथ ही देखना %reset_selective?अधिक उदाहरण और के लिए https://regexone.com/ एक regex ट्यूटोरियल के लिए।

नाम स्थान के सभी चर मिटाने के लिए देखें:

%reset?

9
अन्यथा अजगर से "डेल ए" का उपयोग किया जा सकता है।
SeF

1
नहींं, यह आदेश name_variableएक रेगेक्स कथन के रूप में माना जाएगा , और जो कुछ भी उससे मेल खाता है उसे हटा देगा।
एर्डेम काया

@ErdemKAYA धन्यवाद, मैंने पहले कभी इस पर ध्यान नहीं दिया! उत्तर संपादित किया गया।
14

1
हर्गिज नहीं! :) यह वास्तव में कुछ हद तक सहज ज्ञान युक्त है।
एरडेम काया

37

IPython में आप इस तरह से एक एकल चर को हटा सकते हैं :

del x

13

मैंने कोशिश की

%reset -f

और बिना किसी संकेत के सभी चर और सामग्री को साफ कर दिया। हाँ / नहीं के-f लिए संकेत दिए बिना दिए गए आदेश पर बल कार्रवाई करता है ।

काश यह मदद करता .. :)


9

नई स्क्रिप्ट में निम्न पंक्तियों को जोड़ने से आप स्क्रिप्ट को फिर से पढ़ने के लिए हर बार सभी चर को साफ कर देंगे:

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

जीवन को आसान बनाने के लिए, आप उन्हें अपने डिफ़ॉल्ट टेम्पलेट में जोड़ सकते हैं।

स्पाइडर में: Tools>Preferences>Editor>Edit template


मुझे यह पसंद है क्योंकि इसे स्क्रिप्ट से भी चलाया जा सकता है।
जर्गो जूल

4

पहले बताई गई विधियों के अलावा। आप कई चर निकालने के लिए कमांड डेल का भी उपयोग कर सकते हैं

del variable1,variable2

0

कंसोल पैनल में एक छोड़ दिया विकल्प भी चर एक्सप्लोरर में सभी चर को साफ करेगा

*** ध्यान दें कि आप कंसोल कोड में चलाए गए सभी कोड खो देंगे

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.