我想出了一些难看的hacky代码,它可以在python 2.6中使用。我不确定这是否是最聪明的事情,也许这里的其他一些人有一些见识:
test = __import__('os',globals(),locals())for k in dir(test): globals()[k] = test.__dict__[k]您可能希望在此处进行检查,以确保不会覆盖全局名称空间中的任何内容。您可能会避免使用globals部分,而只浏览感兴趣的类的每个动态导入的模块。这可能比用导入的所有内容污染全局名称空间要好得多。
例如,假设您的类名为urllib2中的“请求”
test = __import__('urllib2',globals(),locals())cls = Noneif 'Request' in dir(test): cls = test.__dict__['Request'] # you found the class now you can use it! cls('http://test.com')


