簡體   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