如何在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
顺便说一下,如果你在使用 WSGI,那么你的 Python 代码就不需要放在 cgi-bin
目录里,因为如果你的 .htaccess
(或者类似的设置)配置错误,代码可能会被下载。