[英]Build shortcut for `traceback.format_exc()`
所以我像這樣使用traceback.format_exc()
:
try:
# Some code
except:
traceback_msg = '%s' % traceback.format_exc()
print(traceback_msg)
# Doing some stuff with it
經常在我的代碼中到 output 它到一個額外的文件/流,通過編寫代碼我厭倦了繼續輸入它。 有沒有一種簡單的方法來定義一個全局快捷方式/異常處理程序,它可以保持關注並且易於從各個地方調用?
您可以使用目錄PYTHONPATH
中的模塊,該模塊以縮短的名稱(並且本身具有短名稱)導入。
在你的設置腳本中設置環境變量PYTHONPATH
指向一個目錄,例如在 Linux 的.bashrc
中,把
export PYTHONPATH=/path/to/my_dir:$PYTHONPATH
(如果任何值已經存在,您可能想要進行測試,如果不存在,請在此處取消冒號,但這並不重要。)
並創建/path/to/my_dir/tb.py
包含
from traceback import format_exec as fe
然后你可以交互地做,例如:
>>> import tb
>>> try:
... a = 1 / 0
... except:
... msg = tb.fe()
... print(">>>", msg)
給予
>>> Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ZeroDivisionError: division by zero
請記住,盡管您的tb.py
可能與您嘗試使用的另一個名為tb.py
的模塊發生沖突。 也許為了安全起見,不要一直設置PYTHONPATH
,但是(再次以 Linux 為例),在你的.bashrc
中設置一個別名。
alias p='env PYTHONPATH=/path/to/my_dir:$PYTHONPATH python'
以便僅在您使用p
別名啟動 python 時設置它。
還有一個環境變量PYTHONSTARTUP
,您可以將其指向一個腳本,該腳本在您啟動 python 時運行,盡管在此示例中未使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.