Я пытаюсь найти номер строки начала и конца контекста.В Python 2.7 я могу успешно сделать это следующим образом:
1 from contextlib import contextmanager
2 import sys
3
4 @contextmanager
5 def print_start_end_ctx():
6 frame = sys._getframe(2)
7 start_line = frame.f_lineno
8 yield
9 end_line = frame.f_lineno
10 print("start_line={}\nend_line={}".format(start_line, end_line))
11
12 with print_start_end_ctx():
13 100
14 (200,
15 300)
Вывод в Python 2.7 :
start_line=12
end_line=15
Однако,извлечение номеров строк из frame
сбой объекта в Python 3.7 :
start_line=12
end_line=14