Verwenden Sie "Pylements", um die Stapelspur etwas schöner zu machen.
sample_code.py
def funcA():
funcB()
def funcB():
funcC()
def fucnC():
1/0 # error!
funcA()
↓ Es sieht so aus, wenn es roh ist
Traceback (most recent call last):
File "test.py", line 10, in <module>
funcA()
File "test.py", line 2, in funcA
funcB()
File "test.py", line 5, in funcB
funcC()
NameError: name 'funcC' is not defined
↓ Ich möchte es so schön machen
Traceback (most recent call last):
File "test.py", line 10, in <module>
funcA()
File "test.py", line 2, in funcA
funcB()
File "test.py", line 5, in funcB
funcC()
NameError: name 'funcC' is not defined
Ob es sich um "pip", "easy_install" oder "port" handelt.
pip install Pygments
Verwenden Sie sys.excepthook
.
coloring.py
import sys
def myexcepthook(type, value, tb):
import traceback
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import TerminalFormatter
tbtext = ''.join(traceback.format_exception(type, value, tb))
lexer = get_lexer_by_name("pytb", stripall=True)
formatter = TerminalFormatter()
sys.stderr.write(highlight(tbtext, lexer, formatter))
sys.excepthook = myexcepthook
Referenz: Ausnahmen von Python auf einem Terminal einfärben
Vorerst werden die Zeichenfolgen und numerischen Werte der von diesem ausgegebenen Stapelverfolgung farbig.
Es ist mühsam, das Obige dem gesamten Code hinzuzufügen, also machen wir es selbst. _ (Es kann zu unverständlichen Fehlern führen, daher ist es eine gute Idee, zu verstehen, was Sie tun, bevor Sie es versuchen.) _
Verwenden Sie "usercustomize". Referenz: 16.1.4. Anpassungsmodule
Erstellen Sie "usercustomize.py" in dem Verzeichnis, das von "python -c" import site; print (site.getusersitepackages ()) "ausgegeben wird, und schreiben Sie den obigen Code" coloring.py ". Fertig.
Das Gefühl, es zu versuchen und die Leichtigkeit des Verstehens ändern sich nicht viel! !!
Recommended Posts