我們需要找出我們的代碼是否在通過編程啓用調試的CPython可執行文件下運行。 sys
模塊似乎沒有任何信息,至少在Ubuntu 14.04的python3.4-dbg
上。 sys.flags.debug
設置爲0.原因是我們的代碼未修改實際上會崩潰python的調試版本。 更新:具體來說,代碼在C端發生斷言錯誤。如何知道CPython可執行文件是否爲python中的調試版本?
當然肯定會有比看看是否更好看'd' in sys.executable
。使用python3.4-dbg
>>> import sysconfig
>>> sysconfig.get_config_var('Py_DEBUG')
0
在另一方面:
哇,不知道。 +1 – vaultah
這就是爲什麼我討厭C斷言的原因之一 - 有人知道事情可能會出錯,但不是處理它,而只是在調試版本中選擇**來進行測試**,事情可能會在可交付成果中下地獄代碼 - *(咆哮,脾放空)!* –
不可移植的是的,但至少這在真實的操作系統上工作,不知道關於sysconfig中的Py_DEBUG和NDEBUG或他們的含義,謝謝。 –