Mar*_*ine 3 python stack-trace
如何打印每个函数/方法调用?我尝试使用:,python -m trace --trace但它还会打印函数内部代码...我只想要被调用的函数名称。在代码中使用traceback会打印调用命令本身之前调用的最后一个函数,并且该代码包含许多类。
您可能会发现-l有用。
main.py:
def foo():
pass
def bar():
pass
foo()
bar()
Run Code Online (Sandbox Code Playgroud)
在做
$ python -m trace -l main.py
Run Code Online (Sandbox Code Playgroud)
输出
functions called:
filename: C:\Python34\lib\trace.py, modulename: trace, funcname: _unsettrace
filename: main.py, modulename: main, funcname: <module>
filename: main.py, modulename: main, funcname: bar
filename: main.py, modulename: main, funcname: foo
Run Code Online (Sandbox Code Playgroud)
根据您拥有的功能数量,您可能会发现更合适的装饰器:
def print_deco(func):
def inner(*args, **kwargs):
print(func.__name__)
return func(*args, **kwargs)
return inner
@print_deco
def foo():
pass
@print_deco
def bar():
pass
foo()
bar()
# foo
# bar
Run Code Online (Sandbox Code Playgroud)