Python 动态创建子包
是否可以动态创建包,例如:Python 动态创建子包,python,package,Python,Package,是否可以动态创建包,例如: subpackage = create_subpackage(package_name, package_path) 包应该与物理路径相关联,以便可以通过该路径导入该路径中的模块 这样做的目的是能够使子包不是其父包的子目录 e、 g main\u package/\uuuu init\uuuu.py的内容: sub_package = create_subpackage("sub_package", "/a/path/to/sub_package") globals
subpackage = create_subpackage(package_name, package_path)
包应该与物理路径相关联,以便可以通过该路径导入该路径中的模块
这样做的目的是能够使子包不是其父包的子目录
e、 g
main\u package/\uuuu init\uuuu.py的内容
:
sub_package = create_subpackage("sub_package", "/a/path/to/sub_package")
globals()["sub_package"] = sub_package
一些随机脚本.py的内容
from main_package.sub_package import some_module
虽然这无法提供您所要求的确切布局,但这可能会有所帮助:
基本上,每个包都有一个\uuuuuuuuu路径
属性,该属性包含用于搜索子模块的位置列表。你可以根据自己的喜好修改它
e、 g
如果这还不能解决问题,您可以继续阅读,这是一种修改Python导入行为的强大(且相应复杂)方法
from main_package.sub_package import some_module
main_package/__init__.py:
__path__ += ['/tmp/some/other/path/']
/tmp/some/other/path/sub_package/__init__.py:
value = 42
test.py:
from main_package.sub_package import value
print value