码迷,mamicode.com
首页 > 其他好文 > 详细

关于from . import 的一个问题

时间:2019-09-12 23:34:36      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:根据   __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

 

关于from . import 的一个问题

标签:根据   __name__   attempted   变量   使用   解释   beyond   main   pat   

原文地址:https://www.cnblogs.com/Clownly/p/11515402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!