标签:根据 __name__ attempted 变量 使用 解释 beyond main pat
绝对导入: 从sys.path模块搜索路径列表中开始找(第一个元素是当前执行程序所在目录)
相对导入:从from import语句所在的文件开始找 .代表当前文件所在目录目录,..代表当前文件所在目录的上一级目录
ps:相对路径导入依赖于__name__变量,根据它的值去寻找平级或者上级目录或文件,
模块被导入后,python解释器会为该模块创建一个名为__name__的变量,并将该模块所在目录的绝对路径存储于此变量中,
而.py文件运行时,python会为该程序创建一个名为__name__的变量,并且赋值为字符串“__main__”,所以在当前执行程序不能使用相对导入,
from . import name 会报错提示 cannot import name ‘name‘
from .. import name 会报错提示 attempted relative import beyond top-level package
标签:根据 __name__ attempted 变量 使用 解释 beyond main pat
原文地址:https://www.cnblogs.com/Clownly/p/11515402.html