2009-10-20 5 views
8

के भीतर से सेट किया गया है यदि मैं डीबग मोड में हूं, तो मैं अन्य सामानों को तब से करना चाहता हूं जब मैं नहीं हूं।मैं कैसे जांचूं कि पाइथन डीबग विकल्प स्क्रिप्ट

if DEBUG: 
    STORED_DATA_FILE = os.path.join(TEMP_DIR, 'store.dat') 
    LOG_LEVEL = logging.DEBUG 
    print "debug mode" 
else: 
    STORED_DATA_FILE = os.path.join(SCRIPT_PATH, 'store.dat') 
    LOG_LEVEL = logging.INFO 
    print "not debug mode" 
तो

:

python script.py 
not debug mode 

python -d script.py 
debug mode 

मैं ऐसा कैसे पता लगा सकते हैं? यह निश्चित रूप से __debug__ चर का उपयोग नहीं कर रहा है।

+0

नीचे दिए गए प्रश्नों के लिए स्पष्ट करने के लिए अच्छा है। मैं वास्तव में करना चाहता हूं कि सामान्य वातावरण से कुछ जानकारी उठाएं, लेकिन मैंने पर्यावरण चर सेट करने की कोशिश की और os.en वातावरण में इसकी तलाश की लेकिन यह हमेशा काम नहीं करता है। – user132262

+0

'-d' विकल्प से असंबंधित: [पायथन: डीबग दुभाषिया का पता कैसे लगाएं] (http://stackoverflow.com/questions/646518/python-how-to-detect-debug-interpreter) – jfs

+0

http: // stackoverflow। कॉम/प्रश्न/27748132/is-there-a-flag-i-can-check-in-my-code-to-see-if-pycharms-debugger-is-running है? answertab = सक्रिय # टैब-टॉप यह उत्तर मेरे लिए काम करता है। –

उत्तर

6

पार्सर डिबग मोड -d कमांडलाइन विकल्प या PYTHONDEBUG वातावरण चर के साथ सक्षम है और अजगर 2.6 से शुरू sys.flags.debug में दिखाई देता है पार्सर के लिए डीबग किया जाता है,। लेकिन क्या आप वाकई यही चाहते हैं कि आप क्या खोज रहे हैं?

+0

को फिर से लोड करने की आवश्यकता नहीं है जो 2.6 और ऊपर के लिए काम करता है, धन्यवाद। अब अगर किसी के पास 2.5 और उससे कम का उत्तर है? – user132262

12

आप के साथ python -O उपयोग कर सकते हैं __debug__ चर

जहां -O साधन का अनुकूलन। इसलिए __debug__ झूठी

-d है जो नहीं है कि आप क्या चाहते

+0

हां, -ओ लगातार स्क्रिप्ट पर नज़र रखता है और – igaurav