2011-03-15 164 views
0

我有用python編寫的模塊。例如,下面是文件夾結構:從文件夾導入共享模塊

|Main/ 
|--SubMain/ 
|----Module1.so 
|--SubMain2/ 
|----Module2.so 
|----Module3.so 

現在我想導入到蟒蛇此類似:

import Main.SubMain.Module1 

首先,我做遞歸地爲所有文件夾:

import sys 
sys.path.append(...) 

現在我可以做:

import Module1 
import Module2 
import Module3 

但我想指定模塊的確切文件夾。我試圖將__init__.py放入所有文件夾中,但這並沒有幫助我。這種方式模塊是不可見的蟒蛇。怎麼了?

回答

2

爲了製作一個包,您需要將__init__.py(而不是__input__.py)添加到文件夾。因此,如果您將__init__.py添加到Main,Submain1和Submain2,然後使用Main的父級調用sys.path.append,您應該可以根據需要導入。

+0

對不起,我用'__init __。py',沒有輸入。我添加了這些文件,但沒有調用'sys.path.append'。謝謝。 – Ockonal 2011-03-15 12:42:59