在python中导入文件

时间:2010-03-27 13:42:05

标签: python package python-2.6

我有那个文件结构 -

  1. 博客\数据对象\ User.py

  2. 博客\ index.py

  3. 我想从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
    

2 个答案:

答案 0 :(得分:12)

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

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

如果目录的路径在Python路径中,它应该可以工作(你可以用以下方法检查:

import sys
print sys.path

)。如果没有,请注意相对于当前文件的位置进行导入。也就是说,由于index.py已在Blog内,因此导入应为:

from DataObjects.User import say_hello

答案 1 :(得分:1)

from DataObjects.User import say_hello