繁体   English   中英

Python3:导入类问题

[英]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

但是我有两个错误:

  1. 首先是ModuleNotFoundError: No module named app_framework 我部分地通过改变修复它from app_framework import App ,以from .app_framework import App

  2. ImportError: cannot import name 'MyApp1' from 'my_apps'

我可以from my_apps.app1 import MyApp1, MyApp2 ,但我更喜欢from my_apps import MyApp1, MyApp2from 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM