我有一個Python分配,我需要通過識別行號來描述Python運行程序的順序。這是爲了幫助我們理解嘗試/除了錯誤。Python可以打印逐行流水線(或順序)的行嗎?
我很確定我已經通過檢查達到了這個目的,但我想知道Python是否有能力通過行號打印出流程,以便我可以檢查我的工作。如果Python沒有內置,有沒有辦法可以做到這一點?
我正在使用Python 2.7。
我有一個Python分配,我需要通過識別行號來描述Python運行程序的順序。這是爲了幫助我們理解嘗試/除了錯誤。Python可以打印逐行流水線(或順序)的行嗎?
我很確定我已經通過檢查達到了這個目的,但我想知道Python是否有能力通過行號打印出流程,以便我可以檢查我的工作。如果Python沒有內置,有沒有辦法可以做到這一點?
我正在使用Python 2.7。
您可以在Python標準庫中使用trace模塊。
嘗試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
。
更好的方法是通過使用pdb http://docs.python.org/2/library/pdb.html逐步完成代碼 – wim