如何在Python中打印每一行处理代码?

Chr*_*ris 6 python

在测试或创建新函数时,我经常喜欢打印正在发生的每一行代码,这样我就可以看到每一行的处理方式.

有没有办法可以达到这个目的?我正在寻找更方便的东西,所以我不必在每一行后打印.

例如,而不是写这个功能

def test_func():
    l = range(10)
    print l
    l = zip(l,range(30,40))
    print l 
    l = dict(l)
    print l 
Run Code Online (Sandbox Code Playgroud)

我想写这个没有写印刷,但仍然打印每一行

def test_func():
    l = range(10)
    l = zip(l,range(30,40))
    l = dict(l)
Run Code Online (Sandbox Code Playgroud)

也许我可以使用Python装饰器或其他东西?

dea*_*908 7

你最好为此目的使用调试器.但是如果你想打印每一行,你可以使用'trace`运行程序.

python -m trace --trace asd.py 

 --- modulename: asd, funcname: <module>
asd.py(1): def test_func():
asd.py(6): test_func();
 --- modulename: asd, funcname: test_func
asd.py(2):     l = range(10)
asd.py(3):     l = zip(l,range(30,40))
asd.py(4):     l = dict(l)
 --- modulename: trace, funcname: _unsettrace
trace.py(80):         sys.settrace(None)
Run Code Online (Sandbox Code Playgroud)