Entry 3633
Spyndex
Submitted by anonymous
on April 23, 2010 at 10:35 p.m.
Language: Python 3. Code size: 863 bytes.
import sys, os import linecache def fileNameOf(moduleName): return os.path.abspath(sys.modules[moduleName].__file__) def typeof(value): try: return value.__class__.__name__ except: return type(value).__name__ def argtypes(funcLocals): return dict((k, typeof(v)) for (k, v) in funcLocals.items()) def traceit(frame, event, arg): if event == "call": lineno = frame.f_lineno try: filename = frame.f_globals["__file__"] except: return traceit if (filename.endswith(".pyc") or filename.endswith(".pyo")): filename = filename[:-1] name = fileNameOf(frame.f_globals["__name__"]) line = linecache.getline(filename, lineno) print("%s:%s: %s, %s" % (name, lineno, line.rstrip(), argtypes(frame.f_locals))) return traceit sys.settrace(traceit)
This snippet took 0.01 seconds to highlight.
Back to the Entry List or Home.