sys.path.append语句的文件

时间:2016-02-12 07:09:28

标签: python

我在每个目录下都有一个some.development.host的项目文件夹。在一些python文件中,我正在执行以下操作从项目中的另一个脚本导入模块。

__init__.py

我的问题该声明应该放在哪里:

import re
import csv
import sys

from os import path

ROOT_DIR = path.abspath(path.join(path.dirname('__file__')))
# print(ROOT_DIR)
sys.path.append(ROOT_DIR)

from source.constants import IP

文件夹结构:

ROOT_DIR = path.abspath(path.join(path.dirname('__file__')))
    # print(ROOT_DIR)
sys.path.append(ROOT_DIR)

1 个答案:

答案 0 :(得分:0)

该语句应该放在项目的调用脚本中,并且您导入的每个模块都应该从项目的根目录导入。

例如:

Project
  script.py
  package
    __init__.py
    foo.py
    sub_package1
      __init__.py
      foo1.py


script.py

sys.path.append(path_to_project)


foo1.py

中导入foo.py
from package.sub_package1 import foo1  


foo.py

中导入foo1.py
from package import foo


此外,问题已被编辑,但请确保您的init文件名为__init__.py而不是init.py