我的项目结构如下:
project/
|--- helper_modules/
|--- util.py
|--- scripts/
|--- A.py
如果我将脚本A.py放在project /文件夹中,它将运行并使用from helper_modules.util import fn
成功导入。但是我有很多脚本,为了使事情井井有条,我希望将它们全部放在自己的子文件夹中。我该怎么做,仍然从helper_modules导入?
调用脚本时,我在目录/ project /中。
答案 0 :(得分:1)
您只需要在脚本A.py中添加它:
from ..helper_modules.util import fn
并运行A.py从项目文件夹中退出一个级别,因此,如果您在项目文件夹中,请执行以下操作:
cd ..
然后使用
运行A.pypython -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