如何为python返回给定文件路径中的错误行?
我希望如何为python返回给定文件路径中的错误行?,python,Python,我希望File1.py返回File2.py File1.py: def find_errors(file_path_of_File2): print(f'the error is on line {}') print('this is line 1') print(5/0) 错误在第2行 File2.py: def find_errors(file_path_of_File2): print(f'the error is on line {}') print('this i
File1.py
返回File2.py
File1.py:
def find_errors(file_path_of_File2):
print(f'the error is on line {}')
print('this is line 1')
print(5/0)
错误在第2行
File2.py:
def find_errors(file_path_of_File2):
print(f'the error is on line {}')
print('this is line 1')
print(5/0)
ZeroDivisionError:整数除法或模零除法
这可能吗?你可以用这个做得有点难看 File1.py
print('this is line 1')
print(5/0)
import sys
import traceback
try:
import test
except Exception as e:
(exc_type, exc_value, exc_traceback) = sys.exc_info()
trace_back = [traceback.extract_tb(sys.exc_info()[2])[-1]][0]
print("Exception {} is on line {}".format(exc_type, trace_back[1]))
File2.py
print('this is line 1')
print(5/0)
import sys
import traceback
try:
import test
except Exception as e:
(exc_type, exc_value, exc_traceback) = sys.exc_info()
trace_back = [traceback.extract_tb(sys.exc_info()[2])[-1]][0]
print("Exception {} is on line {}".format(exc_type, trace_back[1]))
输出
this is line 1
Exception <type 'exceptions.ZeroDivisionError'> is on line 2
这是第1行
例外情况在第2行
在这种情况下,您将捕获导入文件过程中引发的所有异常,然后从
回溯中获取最后一个异常不可能:ZeroDivisionError
是运行时错误,而不是编译时错误。知道它将被引发的唯一方法是执行代码,并看到它被引发。如果我通过File1.py执行File2.py并保存File2.py的输出(这会导致错误),然后在File1.py中返回该错误行,会有什么问题?File2和File1是如何连接的。你能把全部邮件寄出去吗example@Arseniy它们是两个独立的文件。可以通过File1.py访问File2.py,如下所示: