2013-11-14 43 views
1

我有一個Python分配,我需要通過識別行號來描述Python運行程序的順序。這是爲了幫助我們理解嘗試/除了錯誤。Python可以打印逐行流水線(或順序)的行嗎?

我很確定我已經通過檢查達到了這個目的,但我想知道Python是否有能力通過行號打印出流程,以便我可以檢查我的工作。如果Python沒有內置,有沒有辦法可以做到這一點?

我正在使用Python 2.7。

+1

更好的方法是通過使用pdb http://docs.python.org/2/library/pdb.html逐步完成代碼 – wim

回答

0

您可以在Python標準庫中使用trace模塊。

2

嘗試trace模塊:

實施例:

test.py:

def main(): 
    print("Hello, world") 

if __name__ == '__main__': 
    main() 
在命令行上

然後:

$ python -m trace --trace test.py 
--- modulename: test, funcname: <module> 
test.py(1): def main(): 
test.py(4): if __name__ == '__main__': 
test.py(5):  main() 
--- modulename: test, funcname: main 
test.py(2):  print("Hello, world") 
Hello, world 
--- modulename: trace, funcname: _unsettrace 
trace.py(80):   sys.settrace(None) 

它具有的其他選項少數這也可能有用,如--listfuncs