import sys def f(): return [i for i in range(5)] lines = [] def tracefunc(frame, what, arg): if what == 'line': lines.append(frame.f_lineno) else: lines.append(what) return tracefunc sys.settrace(tracefunc) f() sys.settrace(None) print(lines)