2011-05-25 110 views
1

如何從不同文件夾導入模塊?我有以下內容如何從Python中的不同文件夾導入模塊?

cgi-bin 
     | py 
      | 
      __init.py__ 
      http 
      | 
       __init.py__ 
       HttpFormParser.py 
      xml 
      | 
       __init.py__ 
       XmlDocumentCreator.py 

我想在HttpFormParser.py中導入XmlDocumentCreator。怎麼做 ?

我在HttpFormParser.py做

import py.xml.XmlDocumentCreator 

其拋出下面的錯誤。

/HttpFormParser.py", line 5, in <module> 
    import py.xml.XmlDocumentCreator 
ImportError: No module named py.xml.XmlDocumentCreator 
+1

可能重複http://stackoverflow.com/questions/5747598/蟒封裝結構) – 2011-05-25 23:09:55

回答

1

sys.argv[0]得知你正在執行的目錄。在這種情況下,你想要得到的cgi-bin目錄,因爲它包含py

import os 
import sys 
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 
    os.pardir, os.pardir))) 
import py.xml.XmlDocumentCreator 

附:如果您使用的是WSGI,則不需要Python代碼位於cgi-bin目錄中,如果您的.htaccess(或同等版本)設置錯誤,則可以下載它。