[Python-Dev] adding save() and load() function for interactive use (original) (raw)
Guido van Rossum guido at python.org
Mon Dec 1 14:07:11 EST 2003
- Previous message: [Python-Dev] adding save() and load() function for interactive use
- Next message: [Python-Dev] Tutorial: Brief Introduction to the Standard Library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I think that for learning Python, it would be nice to save the current namespace to a file using a builtin save() function (and corresponding load()). For beginning programmers, it would be nice to be able to tinker interactively with the shell, defining functions and maybe even classes, with which they can continue later on. save() is easily implemented by pickling locals(); load() is easily implemented by updating locals() while unpickling it. The functions would take a filename (string) as an argument. In Idle, they could be in the menu. Like the variable, load() and save() are only present in the interactive shell (some global .pythonrc?). Example usage: [omitted]
Saving classes and functions with pickle doesn't work; it appeared to work only because you didn't actually quit your session.
IDLE has a feature designed to further the same goal without having to save a "workspace" (a vague concept at best and one that doesn't scale to larger Python apps). You can configure IDLE to come up with a blank untitled Python file instead of a Python Shell window. Then the student's work cycle is intended to be as follows:
Type some code into the file.
Save it (the first time the student has to pick a filename).
Hit F5 which will run the file (which is now a module); this will open a Python Shell (if one isn't already open) so you can experiment with the code defined in the file, but these experiments won't be saved.
Go back to the top to edit the file and run it again.
There's also an option to avoid the save step (F5 will save automatically once a filename is picked).
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] adding save() and load() function for interactive use
- Next message: [Python-Dev] Tutorial: Brief Introduction to the Standard Library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]