2009-10-20 14 views
8

içinden ayarlanırsa ben nasıl kontrol ederim, ben olmadığım zaman daha başka şeyler yapmak istiyorum. Sonrapiton ayıklama seçeneği hata ayıklama modunda isem bir komut

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 

Buna nasıl algılayabilir? Kesinlikle __debug__ değişkenini kullanmıyor.

+0

Eh aşağıdaki sorulara ilişkin netleştirmek için. Tüm yapmak istediğim, genel ortamdan bazı bilgileri almaktır, ancak bir ortam değişkeni belirlemeyi ve os.environ'da aramayı denedim ama bu her zaman işe yaramaz. – user132262

+0

-d' seçeneği 'alakasız: [Python: ayıklama tercüman tespit nasıl] (http://stackoverflow.com/questions/646518/python-how-to-detect-debug-interpreter) – jfs

+0

http: // stackoverflow. com/sorular/27748132/is-orada-bir-bayrak-ı-kontrol edebilirsiniz-in-my-kod-to-see-if-pycharms-ayıklayıcı-çalışıyor? answertab = aktif # sekme üst Bu cevap benim için çalışıyor. –

cevap

6

Ayrıştırıcı ayıklama modu -d komut seçeneği veya PYTHONDEBUG ortam değişkeni ile etkinleştirilmiş ve piton 2.6 başlayarak sys.flags.debug yansıtılır istediğini olmadığı, ayrıştırıcı için hata ayıklamayı açar. Ama aradığın şeyin bu olduğuna emin misin?

+0

Bu 2.6 ve üstü için çalışır, teşekkürler. Şimdi, 2.5 ve altındaki herkesin bir cevabı var mı? – user132262

12

Birlikte python -O kullanabilirsiniz __debug__ değişken -O araçlar optimize

. böylece __debug__

-d yanlıştır Eğer

+0

evet, -O sürekli olarak komut dosyasını izler ve hatta yeniden yüklemeniz gerekmez – igaurav

İlgili konular