我需要一些帮助。我已经被困了一段时间了。我不知道该怎么做以及该怎么做。
我有一个具有以下结构的目录"文件夹"。
.
├── folder1
│ ├── folder3
│ │ ├── a.py
│ │ └── __init__.py
│ └── __init__.py
├── folder2
│ ├── b.py
│ └── __init__.py
└── __init__.py
我基本上想做的是将"folder2/b.py">python文件中的一个函数导入到"folder1/folder3/a.py">中。我想从"文件夹1/文件夹3/">目录中运行"a.py"文件。
让我用一个例子来说明这一点。假设我在"b.py"中有一个函数"hello"。
def hello():
print("Hello world!")
我还有另一个像这样的文件"a.py"。
from b import hello
def hello1():
print("Hello World!!")
我想导航到"文件夹3"目录。
光盘文件夹1/文件夹3
并按如下方式运行 python 文件 'a.py'。
蟒蛇 a.py
这样做会给我以下错误。
值错误:尝试在顶级包之外进行相对导入
我用谷歌搜索了一段时间,并尝试使用这些资源解决这个问题(从相对路径导入模块,即使使用 init 也不起作用相对路径.py,即使使用init.py,如何修复"尝试在非包中相对导入"(。
到目前为止,唯一有效的方法是在">a.py">中使用"sys.append">,如下所示。但是,我读到这种用法非常不专业,非常不推荐。
import sys
sys.path.append("D:/folder")
from folder2 import b
如果您以前处理过此类设置/问题,请帮助我。谢谢!
尝试将根文件夹添加到 python 路径中。