Zeigen Sie Stapelspuren mit [Python] inspect an

Ich habe inspect verwendet, um eine Funktion zu erstellen, die eine Stapelverfolgung anzeigt.

hello_world.py


# -*- coding: utf-8 -*-

import inspect

def printmessage(message):
    record = inspect.stack()[1]
    frame = record[0]
    info = inspect.getframeinfo(frame)
    fn = str(info.filename).split('/')[-1]
    print '[TAG]' + fn + '#' + info.function + '(L:'+str(info.lineno) + ') : ' + message

def printstack():
    for num in range(len(inspect.stack())):
        if num == 0:
            continue
        record = inspect.stack()[num]
        frame = record[0]
        info = inspect.getframeinfo(frame)
        fn = str(info.filename).split('/')[-1]
        print '[TAG][' + str(num) + ']' + fn + '#' + info.function + '(L:'+str(info.lineno) + ')'

if __name__ == '__main__':
    printmessage('hogehoge')
    print ('-----------')
    printstack()

Ergebnis


[TAG]hello_world.py#<module>(L:23) : hogehoge
-----------
[TAG][1]hello_world.py#<module>(L:25)
[TAG][2]visualstudio_py_util.py#exec_code(L:95)
[TAG][3]visualstudio_py_util.py#exec_file(L:119)
[TAG][4]visualstudio_py_debugger.py#debug(L:2624)
[TAG][5]visualstudio_py_launcher.py#<module>(L:91)

[Referenz] https://docs.python.jp/3/library/inspect.html

Recommended Posts

Zeigen Sie Stapelspuren mit [Python] inspect an
Stapelverfolgung mit Python-Ausnahme anzeigen
Suche nach Tiefenpriorität mit Stack in Python
Python #stack Warteschlange
Starten Sie Python
Scraping mit Python
Anzeigen von Arzneimittelbewertungen mithilfe von Listen in Python
Bearbeiten Sie Redmine mit Python Redmine
Fibonacci-Sequenz mit Python
Datenbereinigung mit Python
Verwenden von Python # externen Paketen
WiringPi-SPI-Kommunikation mit Python
Altersberechnung mit Python
Suchen Sie Twitter mit Python
Namensidentifikation mit Python
Hinweise zur Verwendung von Python-Unterprozessen
Versuchen Sie es mit Tweepy [Python2.7]
[Blender Python] Zeigen Sie Bilder in 3D-Ansicht mit OpenGL (bgl) an.
Anzeigen mit dem Python-Modul des mobilen Nifty Cloud-Backends
Python-Memo mit perl-ternärem Operator
Mit Python abflachen
Speichern Sie Bilder mit Python3-Anforderungen
[S3] CRUD mit S3 unter Verwendung von Python [Python]
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
Versuchen Sie es mit Kubernetes Client -Python-
Python-Notizen zur Verwendung von Perl-Spezialvariablen
Scraping mit Python 3.5 Async-Syntax
Überwachung von Website-Änderungen mit Python
Mit Python auf Twitter posten
Suchalgorithmus mit word2vec [Python]
Ändern Sie die Python-Version mit pyenv
Python: Grundlagen der Verwendung von Scikit-Learn ①
# 1 [python3] Einfache Berechnung mit Variablen
Erstellen Sie JIRA-Tickets mit Python
Instrumentensteuerung mit Python [pyvisa]
Bearbeiten Sie Tabellenkalkulationen lokal mit Python
Python-Memo mit Perl --join
Web Scraping mit Selenium (Python)
Stapel und Warteschlange in Python
[Python] Validierung von JSON mit Voluptuous
Online-Übertragung mit Python
Datenanalyse mit Python-Pandas
Übersetzt mit Googletrans in Python
Verwenden des Python-Modus in der Verarbeitung
Verwenden von OpenCV mit Python @Mac
[Python] Schießspiel mit Pyxel
Senden Sie mit Python mit Google Mail