python调用所有函数_python打印所有函数调用以了解脚本
這是名為player.py的代碼。在# player.py
def foo():
pass
def bar():
foo()
def car():
bar()
pass
car()
像$python -m trace -T player.py一樣從終端執(zhí)行命令,并給出以下輸出。對于相同的輸出,也可以使用for trackcalls,而不是-T。該命令顯示通過運行程序暴露的調(diào)用關(guān)系。在
^{pr2}$
希望這會有幫助。在
更新1:
上面的命令顯示函數(shù)的關(guān)系。在
為了跟蹤函數(shù),我們可以使用traceback模塊。{cd6>取決于函數(shù)的執(zhí)行。但是我們必須記住,我們在哪種方法中編寫traceback.print_stack(),它只會打印該函數(shù)的跟蹤。我給你舉個例子。在import traceback
def foo():
car()
pass
def bar():
foo()
def car():
traceback.print_stack()
pass
bar()
如果我們運行這個,我們可以看到下面的輸出。在File "D:/python_practice36/player.py", line 10, in
bar()
File "D:/python_practice36/player.py", line 6, in bar
foo()
File "D:/python_practice36/player.py", line 3, in foo
car()
File "D:/python_practice36/player.py", line 8, in car
traceback.print_stack()
如果我們在foo()中調(diào)用traceback.print_stack(),那么我們可以看到追溯到foo。在import traceback
def foo():
car()
traceback.print_stack()
pass
def bar():
foo()
def car():
pass
bar()
輸出是File "D:/python_practice36/player.py", line 10, in
bar()
File "D:/python_practice36/player.py", line 7, in bar
foo()
File "D:/python_practice36/player.py", line 4, in foo
traceback.print_stack()
總結(jié)
以上是生活随笔為你收集整理的python调用所有函数_python打印所有函数调用以了解脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python开发一个彩票系统_[宜配屋]
- 下一篇: 生成pojo mysql_通过数据库表反