在蟒蛇中文档 https://docs.python.org/3/reference/import.html描述导入系统,有以下内容(重点是我做的):
[...] 您可以将包视为文件系统上的目录,将模块视为目录中的文件,但不要过于字面地理解这个类比,因为包和模块不需要源自文件系统. [...]
有哪些选项可用于存储与文件系统中的文件和文件夹不对应的模块和包?
I read https://docs.python.org/2/library/zipimport.html关于从 zip 档案加载模块和包的可能性。这是引用的段落提到的可能选项之一吗?
还有其他这样的选择吗?
这就是你思考包和模块的方式,但是包/模块不强制是文件系统中的目录/文件。
您可以将包/模块存储在 zip 文件中并使用 zipimport 加载它。
您可以从字符串变量加载模块:
import imp
code = """
def test():
print "function inside module!"
"""
# give module a name
name = "mymodule"
mymodule = imp.new_module(name)
exec code in mymodule.__dict__
>>> mymodule.test()
function inside module!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)