I want to detect whether module has changed. Now, using inotify is simple, you just need to know the directory you want to get notifications from.
How do I retrieve a module's path in python?
I want to detect whether module has changed. Now, using inotify is simple, you just need to know the directory you want to get notifications from.
How do I retrieve a module's path in python?
This was trivial.
Each module has a __file__
variable that shows its relative path from where you are right now.
Therefore, getting a directory for the module to notify it is simple as:
os.path.dirname(__file__)
import a_module
print a_module.__file__
Will actually give you the path to the .pyc file that was loaded, at least on Mac OS X. So I guess you can do
import os
path = os.path.dirname(amodule.__file__)
To get the directory to look for changes.