On Mar 5, 11:57 am, MRAB <pyt...@mrabarnett.plus.com> wrote: > Pete Emerson wrote: > > In a module, how do I create a conditional that will do something > > based on whether or not another module has been loaded? > > > Suppose I have the following: > > > import foo > > import foobar > > > print foo() > > print foobar() > > > ########### foo.py > > def foo: > > return 'foo' > > > ########### foobar.py > > def foobar: > > if foo.has_been_loaded(): # This is not right! > > return foo() + 'bar' # This might need to be foo.foo() ? > > else: > > return 'bar' > > > If someone is using foo module, I want to take advantage of its > > features and use it in foobar, otherwise, I want to do something else. > > In other words, I don't want to create a dependency of foobar on foo. > > > My failed search for solving this makes me wonder if I'm approaching > > this all wrong. > > Look for its name in sys.modules, for example: > > 'foo' in sys.modules
Excellent, this is what I finally discovered, although I was looking for 'foo' in sys.modules.keys(), which apparently isn't necessary. -- http://mail.python.org/mailman/listinfo/python-list