2011-09-30 14 views
16

IPython में निष्पादित करने के लिए IPython, हमकैसे कई इतिहास लाइनों

_ih[32:39] 

का उपयोग 32 और 39. के बीच इतिहास लाइनों मैं कैसे सीधे इन इतिहास लाइनों निष्पादित कर सकते हैं दिखाने के लिए कर सकते हैं?

+0

Copy-> पेस्ट का प्रयास करें? – Amber

उत्तर

4

आप लाइनों से एक नामित मैक्रो बना सकते हैं और निष्पादित उन्हें:

%macro foo 32-38 
foo 

यह उपयोगी है अगर आप निष्पादित करने के लिए चाहते हैं एक से अधिक लाइनों का एक ही सेट।

%macro bar 38 37 32-36 42 
+4

आईपीथॉन के नए संस्करणों में, आप उन्हें चलाने के लिए '32% 32-38' फिर से कर सकते हैं, या '% 32-38' याद कर सकते हैं यदि आप उन्हें चलाने से पहले ट्विक करना चाहते हैं। –

+0

यदि आप मैक्रो बनाते हैं, तो क्या यह ipython सत्रों में जारी रहता है? –

11

मैं सूची संकेतन का उपयोग:

exec In[34:36] 

भी, अगर आप संपादित फ़ंक्शन का उपयोग एक हिस्सा संपादित करने के लिए, बाहर सूची भी लाइनों अनुक्रमिक या में आदेश होने की जरूरत नहीं है हां, तो यह में अपने कोड है:

exec Out[35] 

और मेरी पसंदीदा:

edit In[34:38] 

क्योंकि मैं एक वसा-उँगलियों वाला स्लब हूं जो शायद ही कभी इसे पहली कोशिश पर सही तरीके से प्राप्त कर सकता है।

+2

मैंने इतिहास से 'संपादन' कोड के लिए आपके सुझाव की कोशिश की। मेरे लिए (ipython 0.12) आपका वाक्यविन्यास केवल ** एकल ** इनपुट लाइन के लिए काम करता है: 'संपादित करें [13] '। यह कई इनपुट लाइनों पर हमेशा असफल रहा: 'संपादित करें [34:38] '। इसके बजाय क्या काम किया गया '34-38' संपादित करें। –

+0

हू! थोड़ी देर के लिए यह कोशिश नहीं की है, (जाहिर है) iPython 0.13 के साथ एक ही समस्या है ... सिर के लिए धन्यवाद! – dreynold

+0

कोई भी अद्यतन देता है? इस पृष्ठ पर कोई भी सुझाव मेरे लिए काम नहीं करता है। मैं Python 2.7 के साथ iPython 3.0.0 पर हूँ। – kakyo

9

कोशिश% याद, जांच doc of recall magic command

+0

यह अद्यतन लिंक है: http://ipython.readthedocs.io/en/stable/interactive/magics। एचटीएमएल – Michele

2

आप उन्हें तो जैसे निष्पादित करने से पहले लाइनों संपादित कर सकते हैं:

edit 1-5 

जाहिर वाक्य रचना सूची संकेतन का dreynold के जवाब में प्रयोग किया जाता से कुछ बिंदु पर बदल दिया है।

8

आप पिछले सत्रों से %recall के साथ कोड निष्पादित कर सकते हैं। %recall दस्तावेज here देखें। कि आदेश पर

%rerun 32:39

प्रलेखन::

#Execute all code from previous session. 
%recall ~1/ 

#Execute all code from two sessions previous the current session. 
%recall ~2/ 

#Execute lines 1 to 5 from previous session. 
%recall ~1/1-5 
+0

वह वाक्यविन्यास मेरे लिए काम नहीं करता है। IPython == 5.1.0 –

संबंधित मुद्दे