{"published":"2010-05-06 00:00:00","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftnakamura.hatenablog.com%2Fentry%2F20100506%2Fappengine_module_dynamic_import\" title=\"Google App Engine \u3067\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u52d5\u7684\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u65b9\u6cd5 - present\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","version":"1.0","url":"https://tnakamura.hatenablog.com/entry/20100506/appengine_module_dynamic_import","categories":["Python","GAE"],"author_url":"https://blog.hatena.ne.jp/griefworker/","provider_name":"Hatena Blog","title":"Google App Engine \u3067\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u52d5\u7684\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u65b9\u6cd5","image_url":null,"provider_url":"https://hatena.blog","width":"100%","author_name":"griefworker","blog_url":"https://tnakamura.hatenablog.com/","description":"Google App Engine(\u4ee5\u4e0b GAE)\u3067\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u52d5\u7684\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u306b\u306f\u3001__import__\u95a2\u6570\u3092\u4f7f\u3048\u3070\u3044\u3044\u3002 # \u52d5\u7684\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b def dynamic_import(name): mod = __import__(name, globals(), locals(), [], -1) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod # subscription.config \u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8 module = dy\u2026","blog_title":"present","type":"rich","height":"190"}