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 に答える