In diesem Artikel wird hauptsächlich die Methode von Python zum Aufzeichnen detaillierter Aufrufstapelprotokolle vorgestellt, die verwandte Fähigkeiten von Python-Aufrufstapelprotokollen beinhaltet. Es hat einen gewissen Referenzwert.
Das Beispiel in diesem Artikel beschreibt, wie Python detaillierte Aufrufstapelprotokolle aufzeichnet. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode lautet wie folgt:
import sys import os def detailtrace(info): retStr = "" curindex=0 f = sys._getframe() f = f.f_back # first frame is detailtrace, ignore it while hasattr(f, "f_code"): co = f.f_code retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename), co.co_name, f.f_lineno) + retStr f = f.f_back print retStr+info def foo(): detailtrace("hello world") def bar(): foo() def main(): bar() if name == "main": main()
Ausgabe:
aaa1.py(<module>:27)->aaa1.py( main:24 )->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world
Das obige ist der detaillierte Inhalt vonWie zeichnet man die Implementierungsmethode des Call-Stack-Protokolls in Python auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!