“具有通用名称隐藏模块的目录”所需的示例

问题描述 投票:0回答:1

当我阅读 Python 3 的模块文档时,在 6.4 Packages 中,它说(强调我的):

需要

__init__.py
文件才能使 Python 处理目录 将文件包含为包(除非使用命名空间包, 比较先进的功能)。这 可以防止目录带有 常用名称,例如
string
,无意中隐藏了有效名称 模块
稍后出现在模块搜索路径中。

谁能举个例子来解释粗体部分的含义吗?

python
1个回答
0
投票

例如,Python 文件旁边名为

string
的目录不会破坏
import string

考虑:

- my_script.py
- string/

import string
print(string)

在那

my_script.py

如果所描述的行为并非如此,

import string
中的
my_script.py
将尝试导入“本地”
string
包 - 您可以通过添加
__init__.py
并查看情况如何变化来验证这一点。

© www.soinside.com 2019 - 2024. All rights reserved.