小编典典

如何导入位于pycharm项目中相同子目录中的python文件

python

调试和运行时,pycharm中出现输入错误。

我的项目结构已正确植根,etc./HW3/.因此HW3是根目录。

我在HW3中有一个子文件夹util,还有一个文件util/util.py。我还有一个util名为的文件run_tests.py

在中run_tests.py,我具有以下导入结构,

from util.util import my_functions, etc.

这会产生输入错误, from util.util import load_dataset,proportionate_sample ImportError: No module named 'util.util'; 'util' is not a package


但是,在完全相同的项目中,在另一个util名为的目录(与相同的级别)中data,我有一个文件data/data_prep.py,该文件也可以util/util.py使用类似的import语句来导入函数…并且它运行时没有任何问题。


显然,我是在做作业的过程中这样做的,所以请理解:这是对作业范围的辅助。


当我将文件移到另一个目录时,问题消失了。所以我想这个问题是 如何导入位于pycharm项目同一目录中的python文件?
因为pycharm如果我这样做import util会引发错误,并提示我使用根目录中的全名。


阅读 220

收藏
2020-12-20

共1个答案

小编典典

如果您没有__init__.py创建一个并添加此行

from util.util import my_function

那么您可以轻松地在脚本中导入模块,__init__.py告诉python应该将该文件夹视为python包,也可以用于导入/加载模块。

在大多数情况下,该__init__.py字段为空。

引用文档

这些__init__.py文件是使Python将目录视为包含包所必需的;这样做是为了防止具有通用名称的目录(如)string无意间隐藏了稍后在模块搜索路径中出现的有效模块。在最简单的情况下,__init__.py可以只是一个空文件,但也可以为该包执行初始化代码或设置__all__
变量,如后所述。

2020-12-20