如何从父目录导入变量?

How can I import variables from parent directory?

我只想在父目录中导入带有超参数的python文件,但我刚收到系统错误。

未加载父模块“”,无法执行相对导入

目录结构如下

Project directory
+-- package
|   +-- dataset
|   |   +-- __init__.py
|   |   +-- dataset.py
|   +-- models
|       +-- __init__.py
|       +-- cnn.py
+-- __init__.py
+-- hparams.py
+-- main.py

我想做的是在dataset.py

中导入hparams.py的变量

我已经尝试了以下几行,但其中 none 有效。

from ..hparams import * 

from ...hparams import *

from .. import hparams

from ... import hparams

导入需要做什么?

您需要告诉 python 在何处查找此文件,您不能像您尝试的那样默认执行此操作。此外,正如您的目录体系结构所建议的那样,您需要查看文件 dataset.py 的父目录 的父目录 才能访问 hparams.py。 所以你可以做的就是在 dataset.py

的开头添加这两行代码
import sys
sys.path.insert(0, '..\..')

然后您可以像往常一样执行from hparams import *import hparams。 有关 sys.path.insert

的更多信息