1

这听起来很荒谬,因为在这个网站上似乎有无限数量的回答这个问题 - 但如果不临时更改每次重新加载的系统路径(或init,这对我的设置不起作用,我无法找到一个简单的解决方案) )。我正在寻找一种安全、简单的方法来完成这项工作。

简单地说 - 我有一个目录结构如下:

**root**
>main.py
>**modules**
  >>rivescript.py
  >>js.py
>**plugins**
  >>weather.py
  >>synd.py

为了简单起见,我想在 main.py 中本地导入呈现的子目录(模块、插件)中的每个可用模块

伪:

#main.py
import "./modules/*.py" as modules_*
import "./plugins/*.py" as plugins_*

并且能够像这样调用函数:

plugins_weather.get("3088")
modules_rivescript.RiveScript.reply("localuser", language_input)

有什么建议么?速度和资源消耗对于这个项目来说是一件大事。

4

1 回答 1

1

首先,您应该将 __init__.py 文件(可能为空)放在 modules/ 和 plugins/ 目录中,以将它们标记为包。

现在,您可以在 main.py 中导入您的模块:

import modules.js as js
import modules.rivescript as rivescript

import plugins.weather as weather
import plugins.synd as synd

weather.get("3088")  # Usage example
于 2012-12-15T14:50:42.050 回答