繁体   English   中英

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

[英]How to import modules from different folders in 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

只需按照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

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

你试过了吗:

from ..xml import XmlDocumentCreator

?

一般来说,我鼓励您阅读模块搜索路径包内参考部分@ http://docs.python.org/tutorial/modules.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM