[英]ValueError: attempted relative import beyond top-level package python
[英]attempted relative import beyond top-level package python
如何从python中的低级目录导入类?
我一直在阅读我应该如何将__init__.py
添加到我的文件夹中(或者这只在 python2 中?)或者我应该如何使用from __future__.py import absolute_import
,但这些都不起作用。
使用下面的代码,我得到: ValueError: 尝试相对导入超出顶级包
我也试过from .folder2.file2 import Class2
,这给出了错误: ModuleNotFoundError: No module named '__main__.folder2'; '__main__' 不是一个包
主文件
from folder1.file1 import Class1
if __name__ == "__main__":
Class1()
文件1.py
from ..folder2.file2 import Class2
class Class1:
def __init__(self):
print("Foo")
Class2()
文件2.py
class Class2:
def __init__(self):
print("Bar")
谢谢你。
是的,您需要将__init__.py
添加到 Python 需要查看的所有文件夹中(无论您的 Python 版本如何),即如果您有这样的结构:
importing
- folder1
-- file1.py
- folder2
--file2.py
- main.py
你会希望它最终看起来像这样:
importing
- __init__.py
- folder1
-- __init__.py
-- file1.py
- folder2
-- __init__.py
--file2.py
- main.py
即你需要一个__init__.py
在folder1
, folder2
,并importing
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.