2011-03-15 144 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