2012-09-25 17 views
5

किसी प्रोजेक्ट पर काम करते समय मेरी स्क्रिप्ट में अक्सर बॉयलर-प्लेट कोड होता है, जैसे sys.path पर पथ जोड़ना और मेरे प्रोजेक्ट के मॉड्यूल आयात करना। हर बार जब मैं कुछ जांचने के लिए इंटरैक्टिव दुभाषिया शुरू करता हूं, तो यह बॉयलर-प्लेट कोड चलाने के लिए थकाऊ हो जाता है, इसलिए मुझे आश्चर्य है कि क्या स्क्रिप्ट को दुभाषिया को पास करना संभव है कि यह "इंटरैक्टिव" बनने से पहले चलाएगा।लोड पर एक स्क्रिप्ट चलाने के लिए पाइथन इंटरएक्टिव इंटरप्रेटर प्राप्त करना संभव है?

उत्तर

6

यह -i विकल्प का उपयोग करके किया जा सकता है। दुभाषिया को उद्धृत करने में सहायता पाठ:

 
-i  : inspect interactively after running script; forces a prompt even 
     if stdin does not appear to be a terminal; also PYTHONINSPECT=x 

तो दुभाषिया स्क्रिप्ट चलाता है, फिर निष्पादन के बाद इंटरैक्टिव प्रॉम्प्ट उपलब्ध कराता है।

उदाहरण:

 
$ python -i boilerplate.py 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

यह भी वातावरण चर PYTHONSTARTUP का उपयोग किया जा सकता है। उदाहरण:

 
$ PYTHONSTARTUP=boilerplate.py python 
Python 2.7.3 (default, Sep 4 2012, 10:30:34) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> print mymodule.__doc__ 
I'm a module! 
>>> 

मैं व्यक्तिगत रूप से पूर्व विधि पसंद करता हूं क्योंकि यह जानकारी की तीन पंक्तियां नहीं दिखाता है, लेकिन या तो काम पूरा हो जाएगा।

+0

'ipython' में भी काम करता है। –

+1

'PYTHONSTARTUP' पर्यावरण चर भी है। मैं sympy et al आयात करके एक पायथनिक कैलकुलेटर स्थापित करने के लिए इसका उपयोग करता हूं। [टैब पूर्णता जोड़ें] के लिए भी उपयोगी (http://docs.python.org/library/rlcompleter.html)। –

+0

@ जोनासविएलिकी: कूल! इसे उत्तर में जोड़ा गया। – Hubro

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