我才4天大的Python。我只是想了解root-uniu init\uy.py导入功能。GoogleLot了解相同,但没能找到一个有用的链接(可能是我的搜索键不相关)。请分享一些链接。在
我得到的错误是“ImportError:无法导入name Person”
下面是结构
Example(directory)
model
__init__.py (empty)
myclass.py
__init__.py
run.py
在我的class.py在
^{pr2}$初始值
from model.myclass import Person
在运行.py在
from model import Person
def donext():
person = Person()
person.print_name()
if __name__ == '__main__':
donext()
或者,正如@gonczor建议的那样,您只需将\uu init_uu空(而且,您不需要根目录),然后直接从包中导入:
或者,如果您有意要使包的接口变平,那么可以这样简单:
型号/初始型号
^{pr2}$在运行.py在
错误基本上是说解释器在给定的名称空间中找不到任何与}。在
Person
匹配的内容,在您的例子中是model
包。这是因为它在model.myclass
包中,但是它被导入到root
而不是{python中的模块基本上是带有
__init__.py
脚本的目录。但是从init在根级别导入任何东西都很困难。而且,这是没有必要的。在好的,所以这意味着解决方案要么直接从
model
包导入,要么从rott级别__init__.py
导入。我推荐前一种方法,因为它更常用。你可以这样做:并将
__init__.py
留空。它们只用于初始化,因此不需要将所有内容导入它们。在您可以将某些内容放入
model/__init__.py
,然后将其导入myclass.py
中,如下所示:
^{pr2}$__init__.py
:myclass.py
:相关问题 更多 >
编程相关推荐