如何为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,如下所示: