Network Ninja wrote: > Scott David Daniels wrote: >> keep = set(['__builtins__', '__doc__', '__name__', >> 'pywin', 'keep', 'item', 'globs']) # Faster to test >> globs = globals() >> for item in dir(): >> if item not in keep: >> del globs[item] >> del globs, item > > This did not work, it gave an error saying "NameError: name 'globs' is > not defined".
I suspect that was because you did not include the last entry in the "keep" set above. By the way, another way to clean up: def cleanup(keep=set(['__builtins__', '__doc__', '__name__', 'pywin', 'cleanup']): globs = globals() for item in set(globs) - keep: del globs[item] Then, simply call: cleanup() > So can you explain the [] after globals()? How does that work? globals() returns a dict (or dict-like object) that reflects and access the current global environment. Imagine: globs = dict(a=1, b='2', c='iii') print globs del globs['b'] print globs --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list