回答
这是同样作为一个正常的进口通话,你只要把它传递包含'*'
为fromlist
列表:
moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])
这实际上并没有设置当地人(),这是我遇到的问题:) – 2010-05-26 20:16:16
根据文档标准'__import__'甚至不使用'locals'参数。如果你重载'__builtin __.__ import__',你可以清楚地看到当你运行'from foo import *'时会发生什么,它看起来确实如此 – 2010-05-26 20:17:47
它并没有实际导入属性,这是问题所在。它将它们加载到内存中,但它不会在当前模块locals()下设置它们。 – 2010-05-26 20:21:57
__import__()
从不加添什么地方范围。您将必须通过返回的模块,根据需要访问其属性。
的唯一途径,我发现:
module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
locals()[k] = getattr(module, k)
你为什么要这样做?我闻到糟糕的代码。 ||另一方面,随时接受你自己的答案。 – 2010-05-26 22:10:36
因为这是解决问题的唯一方法。 – 2010-05-28 18:25:57
这似乎是快速完成工作的最佳选择。我发现的另一个选项是:从%s import *'%moduleName; exec(cmd)“执行”cmd ='。每个人都会尖叫,但对于小脚本来说,这似乎是最好的方式。 – mathtick 2011-09-26 15:20:31
- 1. 。使用__import__导入x?
- 2. __import__只能导入__init__.py
- 3. 使用__import__
- 4. __import__和导入之间的Python区别为
- 5. 我如何使用Python的__import__函数'foo import *'
- 6. 蟒蛇__import__失败
- 7. 问题Python和__import__
- 8. 如何使用Django导入导出导入数据?
- 9. Python,试图实例化使用__import__导入的类,得到''模块'对象不可调用'
- 10. 如何使用导入*导入私有函数?
- 11. 如何使用Scala导入子句从方法参数导入
- 12. 如何使用es6风格导入导入MongoDB?
- 13. 如何使用postcss-import和Webpack 2导入导入的文件?
- 14. 如何导入导入org.neuroph.core。*
- 15. 如何使用libtomcrypt导入RSA公钥?
- 16. 如何导入和使用com.sun.jdi.VirtualMachine
- 17. 如何使用jquery将JSON导入SQLite
- 18. 如何使用Intellij导入appcompat-v7
- 19. 如何使用ES6导入连字符
- 20. 如何使用coredata导入视频?
- 21. 如何使用清单导入模块
- 22. 如何导入Mongoose以使用json.parse()?
- 23. 如何使用'ldifde'导入组成员?
- 24. 如何使用命令行导入MySite.zexp
- 25. 如何使用IVsBuildPropertyStorage添加MSBuild导入?
- 26. 如何使用webpack导入min文件
- 27. 如何导入使用epfimporter.py由苹果
- 28. 如何使用Gradle导入org.apache.httpcomponents
- 29. 如何使用cocoapods导入Charts.xcodeproj?
- 30. 如何使用pypy导入bitarray?
但是大家都知道,你应该避免使用'进口*'? – 2010-05-26 20:13:44
不在这里进行语义学讲座:) – 2010-05-26 20:14:09
你想在当地人吗?你不应该这样做,但迈克尔Mrozek的答案是完全错误的反正。伊格纳西奥的答案应该被接受。 – 2016-05-18 20:35:03