Terry Reedy wrote: > MRAB wrote: >> >> How about something like this: >> >> def clear_workspace(): >> keep_set = set(['__builtins__', '__doc__', '__name__', >> 'clear_workspace']) > > For 2.6/3.0, add __package__ to the list to be kept. > >> for x in globals().keys(): >> if x not in keep_set: >> del globals()[x]
Or... you might have a script clearWorkspace.py : --------------------------------------------- initGlobals = globals().keys() def clearWorkspace() : for gVar in globals().keys() : if gVar not in initGlobals : del globals()[gVar] --------------------------------------------- Which you run before doing anything else. Then you don't mind if additions were made to the list to keep, or if you are using something like pyCrust which has its own initial globals, or if you want to keep some global vars of your own (in which case you run clearWorkspace AFTER you instantiate your global vars). -- http://mail.python.org/mailman/listinfo/python-list