Python 正确导入类
我有以下文件夹结构:Python 正确导入类,python,Python,我有以下文件夹结构: root folder1 file1.py file2.py folder2 file3.py 如果我想在file3.py中导入,导入file1.py会是什么样子? 我尝试了不同的变体:来自folder1.file1 import*,来自.folder1.file1 import*,来自folder1 import file1,以及类似的变体,不幸的是没有成功。我是否需要在某个地方创建一个\uuuu init\uuuu
root
folder1
file1.py
file2.py
folder2
file3.py
如果我想在file3.py
中导入,导入file1.py
会是什么样子?
我尝试了不同的变体:
来自folder1.file1 import*
,来自.folder1.file1 import*
,来自folder1 import file1
,以及类似的变体,不幸的是没有成功。我是否需要在某个地方创建一个\uuuu init\uuuuuuuuuuuuuuuupy
文件
\uuuu init\uuuuu.py
文件是Python将目录视为包含包所必需的,它们只是一个空文件
那你就可以了
from folder1 import file1
如果一个包的
\uuuuu init\uuuuuuuuuuupy
代码定义了一个名为\uuuuu all\uuuuuuuuuuuuuu
的列表,则当遇到来自包导入*的时,它被视为应该导入的模块名称列表是\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy
应该出现在根目录中,,文件夹
\uuuu init\uuuuu.py
文件是Python将目录视为包含包所必需的,它们只是一个空文件
那你就可以了
from folder1 import file1
如果一个包的\uuuu init\uuuuuuuupy
代码定义了一个名为\uuuu all\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuucode>的列表,则当遇到来自包导入*,您需要将它们添加到\uuuu init\uuuuuu.py
中的\uuuuuu all\uuuuuu
变量中,以便导出它们。如果您想提供一个类或变量,您可以这样添加它:\uuuuu all\uuuuuu=['foo','bar']
我确信我写了一条评论。。。哦,好吧。我仍然收到一条错误消息<代码>导入错误:没有名为folder1的模块
。文件夹肯定存在,并且里面有一个\uuuu init\uuuuu.py
文件。将根目录的完整路径添加到sys.path,如sys.path.append(根目录的完整路径)导入之前没有其他解决方法吗?这意味着如果不再次设置sys.path值,我就无法将我的实现移植到任何其他系统@cherrun:您可以在包含根目录路径的env中定义PYTHONPATH。顺便说一句,如果您希望使用from X import*
机制,您需要将它们添加到\uuuuuuu all\uuuuuuu
中的\uuu init\uuuuuuuuuuu.py
变量中,以便导出它们。如果您想提供一个类或变量,您可以这样添加它:\uuuuu all\uuuuuu=['foo','bar']
我确信我写了一条评论。。。哦,好吧。我仍然收到一条错误消息<代码>导入错误:没有名为folder1的模块
。文件夹肯定存在,并且里面有一个\uuuu init\uuuuu.py
文件。将根目录的完整路径添加到sys.path,如sys.path.append(根目录的完整路径)导入之前没有其他解决方法吗?这意味着如果不再次设置sys.path值,我就无法将我的实现移植到任何其他系统@cherrun:您可以在包含根目录路径的env中定义PYTHONPATH