【发布时间】:2012-06-12 03:21:00
【问题描述】:
当发生错误时,Python 会打印如下内容:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<stdin>", line 8, in m
File "<stdin>", line 5, in exec_st
File "<stdin>", line 9, in exec_assign
File "<stdin>", line 48, in ref_by_id
IndexError: list index out of range
其中 2, ... , 48 是相对行号,不太方便。如何在此类错误消息中打印绝对行号?
编辑: 也许这是一个愚蠢的问题,但回答会促进一点发展。 我在几个文件中打印文本。完成后,按下运行 python 并将当前文件内容复制到控制台的快捷方式。建议的解决方案强制按下多余的按键(Ctrl+S、Alt+Tab)并创建其他文件。我希望我已经说清楚了。
【问题讨论】:
-
从文件中运行程序,而不是在控制台输入或通过管道输入?
-
谢谢,但我也想要程序化解决方案。
-
也许你可以扩展你的问题一些?我不清楚绝对/相对行号是什么意思。我只是对上面的所有
"<stdin>"s 感到困惑。你想做什么,为什么?特别是,反对从磁盘文件运行您的程序(我认为这会解决您的问题)是什么? -
也许您可以向我们展示您输入的(非常简化的)版本、您获得的实际输出以及您想要获得的内容?
标签: python debugging exception