4
def load_module(module_name):
5
mod = __import__(module_name)
6
components = module_name.split('.')
7
for comp in components[1:]:
8
mod = getattr(mod, comp)
11
def load_module_from_name(filename, module_name):
12
if sys.modules.has_key(module_name):
13
return sys.modules[module_name]
14
init_filename = os.path.join(os.path.dirname(filename), '__init__.py')
15
if not os.path.exists(init_filename):
17
f = open(init_filename, 'w')
18
except (OSError, IOError), e:
20
'Cannot write __init__.py file into directory %s (%s)\n'
21
% (os.path.dirname(filename), e))
25
if sys.modules.has_key(module_name):
26
return sys.modules[module_name]
27
if '.' in module_name:
28
parent_name = '.'.join(module_name.split('.')[:-1])
29
base_name = module_name.split('.')[-1]
30
parent = load_module_from_name(os.path.dirname(filename),
33
base_name = module_name
36
fp, pathname, stuff = imp.find_module(
37
base_name, [os.path.dirname(filename)])
38
module = imp.load_module(module_name, fp, pathname, stuff)