2012-08-03 15 views
9

पर इंटरैक्टिव मोड प्रारंभ करें मुझे अपनी पाइथन लिपि सामान्य रूप से चलाने की ज़रूरत है, लेकिन मैं एक विशिष्ट रेखा पर निष्पादन रोकना चाहता हूं और इंटरैक्टिव मोड शुरू करना चाहता हूं।एक विशिष्ट स्क्रिप्ट लाइन

दूसरे शब्दों में, मैं उस बिंदु पर अपने सभी चर के मूल्य की जांच करने में सक्षम होना चाहता हूं, और खुद को पायथन की कमांड लाइन पर वहां से जारी रखना चाहता हूं।

मैं यह कैसे कर सकता हूं?

+0

एके.ए डीबग मोड? –

+0

यदि डीबग मोड ऊपर वर्णित है, तो हाँ! –

+0

जब तक आप अपना कोड डीबग करने का प्रयास कर रहे हैं, तब तक उत्तर में विधियां आपको जिस तरह से जाना चाहिए। यदि आपको वास्तव में अपनी स्क्रिप्ट के डेवलपर के बजाय उपयोगकर्ता के रूप में इस प्रकार की कार्यक्षमता की आवश्यकता है, तो आपको स्क्रिप्ट निष्पादन के दौरान उपयोगकर्ता इनपुट लेने या कार्यों, विधियों और मॉड्यूल में अपना कोड पुनर्गठित करने के तरीकों को देखना चाहिए। –

उत्तर

16

यह code मॉड्यूल के साथ किया जा सकता है। code.interact() पर कॉल करना सबसे आसान तरीका है।

+0

क्या आप निश्चित हैं? ऐसा लगता है कि यह एक अजगर खोल खोलता है, और यही वह है। मैं अपने कोड में 'code.interact() 'से पहले परिभाषित किसी भी चर को नहीं देख सकता, इसलिए मुझे वास्तव में यह नहीं लगता कि इस फ़ंक्शन का उपयोग कैसे करें। –

+3

@ रिकी आपको 'स्थानीय' तर्क का उपयोग करना होगा: 'code.interact (स्थानीय = स्थानीय()) '। –

+1

@lazyr वास्तव में, यह 'code.interact (स्थानीय = स्थानीय())' :-) – sloth

9

डीबगर का उपयोग करें और ब्रेकपॉइंट जोड़ें। क्या आप एक आईडीई का उपयोग करते हैं? सभी प्रमुख आईडीई में डीबगर समर्थन है। सीएलआई से, आप pdb का उपयोग कर सकते हैं।

+4

'आयात पीडीबी; pdb.set_trace() 'चाल करेगा। –

4

आप के लिए नहीं वास्तव में क्या देख रहे हैं, लेकिन आप आसानी से अपने कार्यक्रम इस पंक्ति जोड़कर pdb (अजगर डिबगर) करने के लिए बाहर तोड़ भी आप अपने कार्यक्रम को तोड़ने के लिए चाहते हो सकता है:

import pdb; pdb.set_trace() 

आप तो आसानी से इस तरह चर की जाँच कर सकते हैं:

p variable_name 

तुम भी कदम कर सकते हैं, जारी रखने के pdb here पर आदि

में अधिक विवरण।

2

जब तक आप उत्पादन प्रयोजनों के लिए इस की जरूरत है सबसे अच्छा तरीका है, मेरी राय में, इंटरैक्टिव डिबगर उपयोग करने के लिए है:

http://infohost.nmt.edu/tcc/help/pubs/python/web/pdb.html

http://onlamp.com/pub/a/python/2005/09/01/debugger.html

अन्य प्रयोजनों के लिए हो सकता है आपके कोड पर पहलुओं पर विचार कर रही है, विधि वर्ग से रनटाइम विशेषताओं को प्राप्त करने के लिए सजावटी का उपयोग करना:

http://www.cs.tut.fi/~ask/aspects/index.shtml

http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch26.html

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