问题:
// A code block
from . import xxxx
在同包下导入其他文件出现
cannot import name 'xxxx' from '__main__'
包内的文件相互导入分两种,用绝对路径和相对路径,用.或者…都是第二种,相对路径。
重点是,相对导入的路径依赖于当前模块的_name_,是根据它的值去找平级或者上级文件。
通过print(name)可知当前文件名为__main__
所以说,从物理上来说,这两个文件确实都在同一个目录下,但仅此就认为from . import xxx一定可以把另一个文件导进来,不对。关键在于,能不能识别到。
绝对不会错的写法!!!
import (当前文件夹).xxx
例如
from . import flappy_bird_utils
改为
import game.flappy_bird_utils