为了账号安全,请及时绑定邮箱和手机立即绑定

Python复杂子包导入

Python复杂子包导入

慕工程0101907 2021-03-18 10:09:25
我在另一个软件包中有一个非常复杂的软件包树,如下所示A\    B\        a.py        b.py        c.py    C\        a.py        b.py        c.py我希望能够执行import A和访问所有子包和子模块,例如A.B.a.foo()。一种方法是A/__init__.py导入所有A的子包,但是某些子包也导入其他子包(例如,A.C使用from中的东西A.B,导致一个ImportError。我正在寻找的是一种方法from A import B as A.B,即,导入子包,但是仍然将它们绑定到父程序包。是否有一个很好的方法来做到这一点?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

你试过了吗:


在A.__init__:


import B

import C

在B.__init__:


import C, a, b, c

在C.__init__:


import B, a, b, c

我用一些测试文件进行了尝试,它似乎工作正常。


In [5]: import A


In [6]: A.

A.B  A.C  


In [6]: A.B.

A.B.C  A.B.a  A.B.b  A.B.c  


查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号