how to suspend program and save state data in python or IDLE?
Dave Angel
davea at ieee.org
Sat Apr 25 19:44:52 EDT 2009
james at biosci.utexas.edu wrote:
> <div class="moz-text-flowed" style="font-family: -moz-fixed">hi! i'm
> running computationally-intensive python programs for a student
> project, and i have a couple of questions.
>
> 1) how can i suspend program execution for brief periods either in
> python or through IDLE;
>
> and 2) is there a way to save state data so that if i have to quit
> running a program in a student computer lab, i can write the state of
> the program and all intermediate data to -- say -- a usb drive, then
> read in the state data later so the program can pick up where it left
> off?
>
> thanks,
> james
>
> </div>
>
1a) A program can suspend itself, with a call to sleep(). While it's
sleeping, it uses very little CPU time. Similarly, if it's waiting for
console input, or in an idle loop (for a GUI app).
1b) If the program is running from an IDE, such as Komodo, then you can
set a breakpoint, and pause it, while examining values and stack
information. I'm not familiar with IDLE, so I don't know if it has
similar abilities.
2) As far as I know, there's no standardized to preserve the entire
state of any process. However, if you write a program with this in
mind, you could preserve the state of your variables with pickle.
Preserving the state of the local variables in functions currently
executing is another story, however. I don't know of any standard way
of dumping the execution frames.
When writing a GUI program, it's sometimes necessary to break up a long
computation, so that the GUI doesn't freeze. The same techniques could
be used here.
More information about the Python-list
mailing list