我在每个目录下都有一个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)
答案 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
。