What would be the easiest way to execute a Python script and, for each executed statement, pass the line number or the line itself to a callback function? For example
A piece of code to be executed
for i in range(5):
z = i**2
and a callback
def callback(line):
print line
The output would be:
for i in range(5):
z = i**2
for i in range(5):
z = i**2
for i in range(5):
z = i**2
...
etc
Another way of stating this is that I want to know the piece of code that would be next to execute if I were running the script stepping through a debugger.. I've seen this question about tracing but I'm interested in doing more than tracing the number of times executed in the callback function.
A debugger is going to be helpful, but only if I can run it non-interactive mode with the ability to call back to the python code
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…