如何将Python代码划分为具有共享代码的模块?

2024-09-24 22:27:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是Falcon框架。我希望所有独立类都存储在自己的dir中(为/module1/服务的类在dir/module1/中):

/app
   ./app.py
    /modules
        /__init__.py
        /module1
            ...
        /module2
            ...
        ....

在应用程序类型我已初始化应用程序:

import falcon
# falcon.API instances are callable WSGI apps
app=falcon.API()

我的问题:

  1. 我必须如何组织模块的导入,我可以从 模块2到模块1?你知道吗
  2. 如何访问的app变量应用程序类型来自/模块2:

我需要执行以下代码:

module2_mngr = Module2(CONFIG_FILE)
app.add_route('/module2', module2_mngr)

附言: 对不起我的英语


Tags: 模块py框架modulesapiapp应用程序类型
1条回答
网友
1楼 · 发布于 2024-09-24 22:27:54

简单的例子,我可以使用不同的配置基于api.debug.debug调试标志:

创建一些基本路径:/somepath/my\u app/

创建文件夹结构:

/somepath/my_app/api

/somepath/my_app/api/debug

/somepath/my_app/conf

/somepath/my_app/conf/prod

/somepath/my_app/conf/dev

创建空文件:

/somepath/my_app/__init__.py 
/somepath/my_app/api/__init__.py
/somepath/my_app/conf/prod/__init__.py
/somepath/my_app/conf/dev/__init__.py

示例主.py(/somepath/my\u app/主.py):

import api.debug
api.debug.DEBUG = False
import conf

设置api.debug.debug调试==错误

/somepath/my_app/api/debug/__init__.py:

DEBUG = False

创建简单的“路由器”:

  • 如果api.debug.debug调试为真-加载生产配置。你知道吗
  • 如果api.debug.debug调试为False-加载开发配置。你知道吗

所以我们创造

/somepath/my_app/conf/__init__.py:

import api.debug
if not api.debug.DEBUG:
    from conf.prod import *
else:
    from conf.dev import *

相关问题 更多 >