[英]Python3: Import class problems
假设我们有一棵这样的树:
└── my_project
├── A.py
├── __init__.py
├── my_apps
├── app_framework.py
├── app1.py
├── app2.py
├── __init__.py
在文件夹my_apps
,在app_framework.py
定义了一个通用类。 其余文件均基于该文件定义自己的子类。
这些文件如下所示:
app_framework.py
:
Class App():
...
app1.py
:
from app_framework import App
Class MyApp1(APP):
...
...
app2.py
:
from app_framework import App
Class MyApp2(APP):
...
...
所以,在我的项目文件夹中,我想使用
from my_apps import MyApp1, MyApp2
但是我有两个错误:
首先是ModuleNotFoundError: No module named app_framework
。 我部分地通过改变修复它from app_framework import App
,以from .app_framework import App
ImportError: cannot import name 'MyApp1' from 'my_apps'
我可以from my_apps.app1 import MyApp1, MyApp2
,但我更喜欢from my_apps import MyApp1, MyApp2
, from my_apps import MyApp1, MyApp2
,这看起来更加简洁。 怎么做?
在my_apps
创建__init__.py
文件, my_apps
所需的类导入该文件:
# my_project/my_apps/__init__.py
from .app1 import MyApp1
from .app2 import MyApp2
然后在您的A.py
您可以执行以下操作:
from .my_apps import MyApp1, MyApp2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.