Python 3中的相对导入不起作用

约翰·史密斯可选:

我有以下目录:

mydirectory
├── __init__.py
├── file1.py 
└── file2.py

我在file1.py中定义了一个函数f。

如果在file2.py中,我这样做

from .file1 import f

我收到以下错误:

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

为什么?以及如何使其工作?

mrKelley:

由于file1file2位于同一目录中,因此您甚至不需要__init__.py文件。如果您要扩大规模,请留在那里。

要将某文件导入同一目录中的文件,只需执行以下操作

from file1 import f

即,您不需要执行相对路径,.file1因为它们位于同一目录中。

如果将要运行整个应用程序的主要功能,脚本或任何其他工具位于另一个目录中,那么您将必须使所有内容都与正在执行的位置有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章