首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >隐藏真实模块

隐藏真实模块
EN

Stack Overflow用户
提问于 2014-09-25 11:34:21
回答 2查看 185关注 0票数 0

主题是包导入和__init__文件:规范中有一个引号:

这些文件有助于防止具有公共名称的目录无意中隐藏稍后在模块搜索路径上出现的真正模块。如果没有这种保障,Python可能会选择一个与代码无关的目录,仅仅因为它看起来嵌套在搜索路径上的早期目录中。

你能给我举个例子吗?

EN

Stack Overflow用户

发布于 2014-09-25 11:38:29

如果允许将任何目录视为包,则尝试导入同时作为目录和搜索路径上的模块存在的模块可以选择该目录而不是模块。

假设您有一个images目录和一个images.py模块。如果在前面的搜索路径上找到了import images目录,那么它将找到它。

通过要求__init__.py标记包,您可以在您的Python代码旁边包含这样的数据目录,而不必担心屏蔽同名的真正模块。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26037592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档