2012-12-15 58 views
1

這聽起來很荒謬,因爲在這個網站上似乎有對此問題的無限數量的響應 - 但是我無法在每次重新加載臨時更改系統路徑時找到一個簡單的解決方案(或init,這對我的設置不起作用)。我正在尋找一種安全,非破壞性的方式來完成這項工作。從python27的文件夾中導入模塊

簡單地說 - 我有一個目錄結構如下:

**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) 

有什麼建議嗎?速度和資源消耗對於這個項目來說是一件大事。

回答

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 
+0

謝謝!完美工作。 – Jamus