2011-08-05 8 views
9

कमांड लाइन के माध्यम से पाइथन का उपयोग करते समय, यदि मुझे नेस्टेड कथन की पिछली पंक्ति पर कोई गलती दिखाई देती है तो क्या उस लाइन को हटाने या संपादित करने का कोई तरीका पहले से ही दर्ज हो चुका है?पायथन कमांड लाइन: पिछली लाइन पर संपादन गलती?

उदा .:

>>> file = open("file1", "w") 
>>> for line in file: 
...  parts = line.split('|') <-- example, I meant to type '\' instead 
...  print parts[0:1] 
...  print ";" 
...  print parts[1:] 

तो बजाय सब कुछ खत्म एक चार ठीक करने के लिए पूरी बात पुन: लिखने, मैं वापस जाने के लिए और मसा में कुछ संपादित कर सकते हैं? मुझे पता है कि मैं इसे सिर्फ विम या कुछ में कोड कर सकता हूं और एक निरंतर प्रतिलिपि रख सकता हूं जो मैं चाहता हूं, लेकिन मैं कमांड लाइन के साथ एक आसान-डेन्डी चाल की उम्मीद कर रहा था।

- धन्यवाद!

+2

डिफ़ॉल्ट आदेश पंक्ति में

jupyter console 

का उपयोग एक तरह से सीमित है। आपको [आईपीथन] (http://ipython.org/) देखना चाहिए। मुझे इसके साथ बेहतर अनुभव हुए हैं। –

+0

बेशक, अगर आपको करना है, तो आप 'भागों' को फिर से परिभाषित कर सकते हैं, लेकिन मुझे पता है कि आप जो खोज रहे हैं वह नहीं है। – Draksis

उत्तर

7

आप मूल पायथन दुभाषिया में ऐसा कोई काम नहीं कर सकते हैं, हालांकि, यदि आप IPython के अंतिम संस्करण का उपयोग करते हैं, तो यह lightweight GUI प्रदान करता है (एक साधारण खोल की तरह दिखता है, लेकिन वास्तव में एक जीयूआई है) जिसमें बहु ऑनलाइन संपादन, वाक्यविन्यास हाइलाइटिंग और अन्य चीजों का एक गुच्छा। IPython जीयूआई का उपयोग करने के लिए, इसे ipython qtconsole कमांड के साथ चलाएं।

1

मुझे नहीं पता कि मैं उन सभी वर्षों में जानता हूं जो मैं पाइथन को कोड कर रहा हूं। पाठ पाठकों के लिए यही है =)

यदि आप एक Emacs उपयोगकर्ता हैं, तो आप अपने पर्यावरण को इस तरह सेट कर सकते हैं कि विंडो को कोड बफर और पायथन शेल बफर में विभाजित किया गया है, और फिर परिवर्तनों को देखने के लिए अपने पूरे बफर को निष्पादित करें ।

1

शायद। Python Tutorial कहता है:

शायद यह देखने के लिए सबसे तेज़ जांच है कि कमांड लाइन संपादन समर्थित है या नहीं, आपको पहले पायथन प्रॉम्प्ट पर नियंत्रण-पी टाइप करना है। यदि यह बीप है, तो आपके पास कमांड लाइन संपादन है; कुंजी के परिचय के लिए Appendix Interactive Input संपादन और इतिहास प्रतिस्थापन देखें। यदि कुछ भी नहीं होता है, या यदि^पी प्रतिबिंबित है, तो कमांड लाइन संपादन उपलब्ध नहीं है; आप वर्तमान लाइन से वर्णों को हटाने के लिए केवल बैकस्पेस का उपयोग करने में सक्षम होंगे।

+1

यह आपको पिछली पंक्ति खींचने की अनुमति देता है, यह किसी भी तरह से आपको ब्लॉक से एक लाइन को बदलने की अनुमति नहीं देता है और उसके बाद उस ब्लॉक को एक साथ निष्पादित करता है, जो ओपी चाहता है। – Wilduck

0

@ MatToufoutu के सुझाव के अलावा, आप भी DreamPie पर एक नज़र ले सकता है, हालांकि यह सिर्फ IPython के अन्य एक्सटेंशन के बिना खोल के लिए एक जीयूआई है।

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