I have been wondering about the reload() function in python, which seems like it can lead to problems if used without care.
Why would you want to reload a module, rather than just stop/start python again?
I imagine one application might be to test changes to a module interactively.
reload is useful for reloading code that may have changed in a Python module. Usually this means a plugin system.
Take a look at this link:
http://www.codexon.com/posts/a-better-python-reload
It will tell you the shortcomings of reload and a possible fix.