如何从Python中的不同文件夹导入模块?

时间:2011-05-25 22:53:11

标签: python

如何从不同文件夹导入模块?我有以下

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

我想在HttpFormParser.py中导入XmlDocumentCreator。怎么做?

我在做

import py.xml.XmlDocumentCreator

在HttpFormParser.py中并抛出以下错误。

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

2 个答案:

答案 0 :(得分: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

P.S。如果您正在使用WSGI,则不需要在cgi-bin目录中使用您的Python代码,如果.htaccess(或等效)设置错误,可以下载该代码。

答案 1 :(得分:0)

你有没有尝试过:

from ..xml import XmlDocumentCreator

一般情况下,我建议您阅读模块搜索路径包内参考 @ http://docs.python.org/tutorial/modules.html

部分