栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

与目录同名的Python导入类

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

与目录同名的Python导入类

使用单个导入时遇到的实际问题是由于软件包的优先级高于模块:

请注意,使用时

from package importitem
,项目可以是程序包的子模块(或子程序包),也可以是程序包中定义的其他名称,例如函数,类或变量。该
import

语句首先测试项目是否在包装中定义;如果不是,则假定它是一个模块并尝试加载它。如果找不到它,
importError
则会引发异常。

无论如何,我 强烈 建议重命名文件或目录,因为您 不能
导入多个具有给定名称的模块。发生问题是因为每个模块/包对象都存储到中

sys.modules
,这很简单
dict
,因此不能包含多个相等的键。

特别是,假设

foo.py
foo
目录位于不同的目录中(如果不是,则仍然无法导入
foo.py
),请执行以下操作:

from foo import gaz

它将加载

foo.py
并将模块放入
sys.modules
,然后尝试执行以下操作:

from foo.bar import wakaka

由于导入尝试使用模块

foo.py
而不是包,因此将失败。

相反,如果您第一次导入

foo.bar
,则会发生相反的情况;导入将使用包而不是模块。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645913.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号