繁体   English   中英

如何在 python 中组织包/模块

[英]How to organize package/modules in python

我与 python 的生活才刚刚开始。 我对如何在 python(flask) 中组织文件夹一无所知

我的目的是按照以下目录/文件结构组织我的应用程序

源代码在此处输入图像描述

server.py是主文件

database.py保存 DB 相关的共享资源

customer.py是一个简单的 python class 需要来自database.py的数据库实例

from ....shared.database import DB # How to solve this

class Customer():
    def __init__(self):
        self._first_name="John"

但我收到错误Attempted relative import beyond top-level package

我如何使这个工作?

文件夹结构表示

src
  app
    /modules
         /customers
              /models
                 customer.py
    /shared
       /database.py
  /server.py

您的目录需要包含一个__init__.py文件才能被识别为包并因此可以使用导入。 该文件可以为空。

此处有关__init__.py的更多信息: __init__.py 是做什么用的?

要将您的文件夹声明为 package,您应该在每个文件夹中添加空白的init .py 文件,其中包含您要从其他子文件夹调用的任何代码。

如果您仍然无法做到这一点,请查看其他替代方法。

您可以尝试这样做作为从同一模块中的其他子文件夹访问其他源代码的快速方法:在进行导入之前添加这个 if name == ' main ': import os import sys sys.path.append(os.getcwd( )) 从 app.shared.database 导入数据库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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