我有以下内容:
try:
package_info = __import__('app') #app.py
except:
print traceback.extract_tb(sys.exc_info()[-1])
print traceback.tb_lineno(sys.exc_info()[-1])
我从中得到的是:
[('test.py', 18, '<module>', 'package_info = __import__(\'app\')')]
18
现在这几乎是我想要的,这是实际错误开始的地方,但我需要遵循这一点并获得实际感染,例如app.py
包含ä
第 17 行而不是第 18 行。
如果未经处理,这是我的实际错误消息:
第 17 行文件 C:\app.py 中的非 ASCII 字符“\xc3”,但未声明编码;详见http://www.python.org/peps/pep-0263.html ", ('C:\app.py', 17, 0, None)), )
我找到了一些示例,但所有示例都显示了影响点,而不是问题的实际原因,如何解决这个问题(首选 Python2 和 Python3 交叉支持,但 Python2 在这种情况下更重要)来获取文件名, 行和问题的原因与上面的元组类似吗?