如何从与当前脚本的父目录平行的目录中导入.py文件?

时间:2019-04-18 00:46:49

标签: python-2.7 python-import sys

我有一个python脚本,想要在其父目录的同一级别的目录中导入另一个.py文件,该文件系统如下所示

.
├── __init__.py
├── obslib
│   ├── __init__.py
│   └── jet
│       ├── __init__.py
│       ├── fakepdf.py
│       ├── fakepdf.pyc
│       ├── jet_mellin.py
│       ├── reader.py
│       ├── residuals.py
│       ├── theory.py
│       └── theory.pyc
├── readme.md
└── tools
    ├── README.md
    ├── __init__.py
    ├── __init__.pyc
    ├── bar.py
    ├── config.py
    ├── inputmod.py
    ├── multiproc.py
    ├── parallel.py
    ├── randomstr.py
    ├── reader.py
    ├── residuals.py
    ├── storage.py
    └── tools.py

目录jet_mellin.py中的文件jet要导入,例如目录BARbar.py中的类tools,只需写< / p>

from tools.bar import BAR

但是,我收到错误消息

ImportError: No module named tools.bar

然后我尝试了

from ..tools import bar

并获得

ValueError: Attempted relative import in non-package

让它起作用的唯一方法就是关注

import sys
sys.path.insert(0, '../../tools/')
from bar import BAR

但是,如果我想在其他目录中使用另一个也称为bar.py的脚本,则会导致模棱两可的情况。因此,我希望能够像from ..tools import bar中那样指定导入的路径。你能帮我这个忙吗?预先感谢!

0 个答案:

没有答案