2009-10-06 15 views
12

से बाहर निकलें मुझे पाइथन दुभाषिया के साथ काम करने के लिए आईपीथॉन बहुत पसंद है। हालांकि, मैं लगातार बाहर निकलने के लिए exit टाइपिंग ढूंढता हूं, और "बाहर निकलने के लिए बाहर निकलें() टाइप करें।"ipython

मुझे पता है कि मैं बाहर निकलने के लिए Ctrl-D टाइप कर सकता हूं, लेकिन क्या कोई तरीका है कि मैं exit को ब्रांड्स के बिना टाइप कर सकता हूं और बाहर निकलने के लिए आईपीथन प्राप्त कर सकता हूं?

अद्यतन: nosklo के लिए धन्यवाद, यह आसानी से अपने ipy_user_conf.py में मुख्य() फ़ंक्शन के लिए निम्न पंक्ति जोड़कर किया जा सकता है:

# type exit to exit 
ip.ex("type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''") 
+1

मैं समाधान मैंने पाया इस प्रकार है उसी मांसपेशियों की स्मृति के कारण 'बाहर निकलने' का उपयोग करके आपकी समस्याएं भी थीं। किसी भी व्यक्ति के लिए आईपीथॉन (या एक तेज तरीके से तलाश) के लिए, -D को दो बार तेज करना है। बस इसे तीन बार मत मारो या आप अपने (लिनक्स) खोल से भी लॉग आउट हो जाएंगे। –

उत्तर

11
>>> import sys 
>>> class Quitter(object): 
...  def __repr__(self): 
...   sys.exit() 
... 
>>> exit = Quitter() 

आप इस तरह इसका इस्तेमाल कर सकते हैं:

>>> exit 

संपादित करें:

मैं ipython अपने आप का उपयोग नहीं है, लेकिन यह कुछ अजीब sys.exit हैंडलर है लगता है।

In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or '' 

उपयोग::

In [2]: exit 
+0

यह आईपीथन के साथ काफी काम नहीं करता है। इसकी अपनी क्विटर क्लास है जो वास्तविक आईपीशेल इंस्टेंस पर उचित निकास विधि कहती है। लेकिन सामान्य विचार सही है। –

+0

@ रॉबर्ट कर्न: ठीक है, एक 'ipython' समाधान मिला। – nosklo

3

%exit, या %Exit, यदि आप पुष्टि सक्षम किया गया है और इसे छोड़ना चाहते हैं। आप इसे उपनाम कर सकते हैं उदा। %e अपने ipythonrc में execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit डालने से।

+0

धन्यवाद, लेकिन मैं सचमुच सचमुच "बाहर निकलना" टाइप करना चाहता हूं। क्योंकि यह मांसपेशी स्मृति में फंस गया है। –

+2

'% निकास' या'% निकास' आईपीथन संस्करण 1.1.0 के तहत कोई लाइन जादू कार्य नहीं है। तो IPython 1.1.0 का उपयोग करके यह उत्तर मेरे लिए बिल्कुल काम नहीं करता है। – halloleo

+1

@halloleo 5 साल पहले उत्तर के जवाब पर मेरा दिल आपके लिए खून बह रहा है अब प्रासंगिक नहीं है। हालिया आईपीथन संस्करणों पर 'निकास' ओओबी काम करता है और यह पूरा सवाल अनावश्यक है। –

0

कम से कम IPython 0.10 में, आप IPython .rc.confirm_exit सेट करने के लिए सक्षम होना चाहिए = झूठी

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