[Tutor] Loop-checking question

Kent Johnson kent37 at tds.net
Sat May 12 19:37:42 CEST 2007


Alan Gilfoy wrote:
> My programs often have long, detailed loops in them, and would like  
> to, as I'm executing the loop, view what part of the loop Python is  
> currently processing.
> 
> Thus, if my program gets stuck in one part of the loop, I would see that.
> Thus, if one part of my loop is never triggered, I would see that.
> 
> I could use, within my loop, print 'I am here, at part X of the loop',  
> but I believe that would be far to clunky to put in every section of  
> my program's loop(s).

I'm not really sure what you expect this view to look like. I don't know 
of any tool that will let you dynamically watch a program as it 
executes. Some alternatives:

- A debugger lets you step through the code and see how it behaves. 
winpdb is a pretty nice GUI-based Python debugger and some Python 
development tools have built-in debuggers.
http://www.digitalpeers.com/pythondebugger/

- If the program is stuck in a loop, pressing control-C will abort the 
loop and give a stack trace showing you where it was.

- The Python profiler will tell you (after the fact) how much time you 
spend in each function. To see what part of a loop the program is in you 
would have to break the loop up into functions.
http://docs.python.org/lib/profile.html

- A code coverage tool will tell you (after the fact) which lines of the 
program were executed and which were not. (google python code coverage)

Kent


More information about the Tutor mailing list