Python目录和Import语句

时间:2014-02-24 22:17:19

标签: python python-2.7 module

假设我有一个目录结构

src\
  __init__.py
  notebooks\
    __init__.py
    foo.py
  utils\
    __init__.py
    db_connection.py

在foo.py中我有    来自utils.db_connection import *

为什么这会失败?

2 个答案:

答案 0 :(得分:0)

src/中没有sys.path(或其完整路径)。

答案 1 :(得分:0)

原因是,搜索列表sys.path中没有“utils”目录。你有两个解决方案。首先是将foo.py移动到更高的文件夹中,例如:

│  foo.py
│  __init__.py
│
├─notebooks
│      __init__.py
│
└─utils
        db_connection.py
        db_connection.pyc
        __init__.py
        __init__.pyc

否则,您可以将目录添加到sys.path中,例如:

import sys
sys.path.append("..")
import utils.db_connection

但第二个真的很难看〜