从父文件夹子文件夹导入模块以在脚本子文件夹[兄弟姐妹]中运行

时间:2019-03-18 15:10:03

标签: python python-3.x python-module

我的项目结构如下:

project/
|--- helper_modules/
    |--- util.py
|--- scripts/
    |--- A.py

如果我将脚本A.py放在project /文件夹中,它将运行并使用from helper_modules.util import fn成功导入。但是我有很多脚本,为了使事情井井有条,我希望将它们全部放在自己的子文件夹中。我该怎么做,仍然从helper_modules导入?

调用脚本时,我在目录/ project /中。

3 个答案:

答案 0 :(得分:1)

您只需要在脚本A.py中添加它:

from ..helper_modules.util import fn

并运行A.py从项目文件夹中退出一个级别,因此,如果您在项目文件夹中,请执行以下操作:

cd ..

然后使用

运行A.py
python -m project.scripts.A

答案 1 :(得分:0)

我发现了这个,这给了我一个解决方法。显然this can't be done by default in Python.

在scripts文件夹中的每个脚本中,我从以下代码开始:

# add to the Python path to import helper functions
import sys
import os
sys.path.append(os.path.abspath('.'))

答案 2 :(得分:0)

如果当前目录为/project/,则应使用以下命令启动脚本:

python -m scripts.A

您可以在scripts/A.py内完成

from helper_modules.util import fn