我正在编写代码并试图组织它,但是遇到了一些麻烦。
我真的很想拥有这样的结构:
/package
/utils
__init__.py
func1.py
func2.py
__init__.py
Main.py
我只需要做import package
所以我的__init__.py
包裹中包含:
from package.main import mainfunction
import package.utils
。
,而utils文件夹中的__init.py
包含:
from package.utils.func1 import function1
from package.utils.func2 import function2
到目前为止,将其导入可以使我能够运行:
package.mainfunction()
,package.utils.function1()
和package.utils.function2()
但是,我遇到的问题是我的主要功能使用了OpenCV等其他模块以及utils文件夹中的功能。我尝试在utils .__ init_文件中添加import cv2
。但是在尝试导入包之后,似乎init文件没有导入cv2。另外,如果我的mainfunction()包含package.utils.function1(),则似乎无法识别它。
我要使用奇怪的结构吗?还是可能出了什么问题?
ps。我可以在/ utils文件夹中工作,只需将def function()
放在Main.py函数中即可。但是我更喜欢将它们放在外面,这应该可行吗?
答案 0 :(得分:0)
对于任何对此有疑问的人,这就是我现在如何使其工作:
/package
/utils
__init__.py --> from package.utils.func1 import function1
from package.utils.func2 import function2
func1.py
func2.py
__init__.py --> from package.main import mainscript
main.py --> import package.utils
import cv2
现在,它使用import package
确保在main.py中使用function1和function2就像package.utils.function1()