Pythonは、例外が発生するとトレースバックにエラー情報を格納する。
traceback.format_exc()関数は、トレースバックを文字列として取得する。
■サンプルスクリプト
get_traceback.py
import traceback
try:
x = 1 / 0
except:
with open('error_file.txt', 'wt') as f:
f.write(traceback.format_exc())
(実行結果)
$ python traceback.py
カレントディレクトリにerror_file.txtというファイルが作られる。
$ cat error_file.txt Traceback (most recent call last): File "get_trackgack.py", line 4, inx = 1 / 0 ZeroDivisionError: division by zero