Pythonでクラスを動的にインポートしてインスタンスを作りたかった

指定したクラスのインスタンスを動的に作りたい場合は__import__()を使えばできるんだそうです。→http://www.python.jp/doc/release/library/functions.html#__import__
インポートした結果帰ってくるのはクラスオブジェクトなので、インスタンス化する必要があるのでワンクッション置く感じ。

前提

classesディレクトリにclass1.pyとclass2.pyがある
それぞれClass1、Class2クラスを持っていてfoo()、bar()メソッドをそれぞれ持っている

コード

通常のインポートとインスタンス生成のおさらい

from classes.class1 import Class1
klass1 = Class1()
print klass1.foo()
print(repr(klass1))
# >foo
# ><classes.class1.Class1 object at 0x1a33d0>

動的にインポートしてインスタンスを生成する

# -*- coding: utf-8 -*-

# モジュール名、クラス名を変数で渡してインスタンス生成
module_name = 'classes.class2'
class_name = 'Class2'
module = __import__(module_name, globals(), locals(), [class_name], -1)
Klass = getattr(module, class_name) # テンポラリなので動的に作らず決めうち
klass2 = Klass()
print klass2.bar()
print(repr(klass2))
# >bar
# ><classes.class2.Class2 object at 0x1a34b0>

クラスを動的にインポートしてインスタンスを作りたかったけれど今はMacBook Air 11インチ欲しい!です。ほしいです!!!