2009-02-26 6 views
8

यदि आप -i विकल्प के साथ cpython दुभाषिया का आह्वान करते हैं, तो यह चलाने के लिए दिए गए किसी भी आदेश या स्क्रिप्ट को पूरा करने पर इंटरैक्टिव मोड दर्ज करेगा। क्या कोई तरीका है, एक प्रोग्राम के भीतर दुभाषिया को यह करने के लिए भी प्राप्त करने के लिए जब भी यह नहीं दिया गया है -i? एक असाधारण स्थिति होने पर स्पष्ट उपयोग केस स्थिति का निरीक्षण करके डीबगिंग में है।जब आप किया जाता है तो इंटरैक्टिव मोड में प्रवेश करने के लिए आप प्रोग्रामिक रूप से सीपीथॉन दुभाषिया को कैसे बता सकते हैं?

उत्तर

5

पायथोनिस्पेक्ट पर्यावरण चर सेट करें। यह भी स्क्रिप्ट में ही किया जा सकता है:

import os 
os.environ["PYTHONINSPECT"] = "1" 

अप्रत्याशित अपवाद डिबगिंग के लिए, आप भी यह अच्छा नुस्खा http://code.activestate.com/recipes/65287/

14

आप code module चाहते हैं।

#!/usr/bin/env python 

import code  
code.interact("Enter Here") 
3

recipe अन्य जवाब sys.excepthook का उपयोग करने में metioned इस्तेमाल कर सकते हैं, आप क्या चाहते हैं जैसा लगता है। अन्यथा, आप कार्यक्रम बाहर निकलने पर code.interact पड़ सकते है: यह करने के लिए

import code 
import sys 
sys.exitfunc = code.interact 
1

सबसे अच्छा तरीका है कि मैं जानता हूँ कि की है:

from IPython import embed 
embed() 

जो वर्तमान क्षेत्र में चर के लिए उपयोग की अनुमति देता है और आप पूर्ण लाता है आईपीथन की शक्ति।