1

我有那个文件结构-

  1. 博客\DataObjects\User.py

  2. 博客\index.py

我想从 index.py 中导入 User.py 中的函数(say_hello)。我正在尝试这段代码 -

from Blog.DataObjects.User import say_hello

say_hello()  

我有那个错误-

Traceback (most recent call last):
  File "index.py", line 1, in <module>
    from Blog.DataObjects import User
ImportError: No module named Blog.DataObjects
4

2 回答 2

12

Python 期望在每个应该可导入的目录中都有一个文件__init__.py,该文件可能为空。因此,如果您将文件结构更正为:

Blog/__init__.py
Blog/index.py
Blog/DataObjects/User.py
Blog/DataObjects/__init__.py

如果目录的路径在您的 Python 路径中,它应该可以工作(您可以通过以下方式检查:

import sys
print sys.path

)。如果不是,请注意导入是相对于当前文件的位置完成的。也就是说,由于 index.py 已经在 inside Blog,导入应该是:

from DataObjects.User import say_hello
于 2010-03-27T13:47:05.163 回答
1
from DataObjects.User import say_hello
于 2010-03-27T13:45:21.950 回答