में एक पाइथन स्क्रिप्ट को अंतःक्रियात्मक रूप से चलाया जा रहा है क्या कोई पाइथन स्क्रिप्ट के लिए स्वचालित रूप से यह पता लगाने का कोई तरीका है कि यह अंतःक्रियात्मक रूप से चल रहा है या नहीं? वैकल्पिक रूप से, क्या कोई यह पता लगा सकता है कि नियमित सी पायथन निष्पादन योग्य बनाम आईपीथॉन का उपयोग किया जा रहा है या नहीं?यह पता लगाना कि IPython
पृष्ठभूमि: मेरी अजगर स्क्रिप्ट्स में आमतौर पर बाहर निकलने के लिए कॉल होता है()। समय-समय पर, मैं आमतौर पर आईपैथन में डिबगिंग और प्रोफाइलिंग के लिए स्क्रिप्ट चलाता हूं। जब मैं अंतःक्रियात्मक रूप से चल रहा हूं, तो मैं बाहर निकलने के लिए कॉल को दबाना चाहता हूं।
स्पष्टीकरण:
मान लीजिए मैं एक स्क्रिप्ट, myscript.py, ऐसा दिखता है जैसे:
#!/usr/bin/python
...do useful stuff...
exit(exit_status)
कभी कभी, मैं एक IPython सत्र कि मैं पहले से ही शुरू कर दिया है के भीतर स्क्रिप्ट चलाना चाहते , कुछ की तरह कह रही:
In [nnn]: %run -p -D myscript.pstats myscript.py
स्क्रिप्ट के अंत में, बाहर निकलें() कॉल, जबकि यह एक लटका IPython का कारण होगा अगर मैं वास्तव में बाहर निकलना चाहता हूं तो मुझे स्कस करें। डिबगिंग (मुझे देखभाल करने के लिए बहुत मामूली) के दौरान यह मामूली परेशानी है, लेकिन यह प्रोफाइलिंग परिणामों को गड़बड़ कर सकती है: बाहर निकलने के संकेत प्रोफाइल परिणामों में शामिल हो जाते हैं (अगर मैं दोपहर के भोजन के लिए जाने से पहले प्रोफाइलिंग सत्र शुरू करता हूं तो विश्लेषण कठिन हो जाता है) ।
#!/usr/bin/python
...do useful stuff...
if is_python_running_interactively():
print "The exit_status was %d" % (exit_status,)
else:
exit(exit_status)
'पायथन' के साथ प्राप्त मानक इंटरैक्टिव खोल के बारे में क्या? – n611x007