当我阅读 Python 3 的模块文档时,在 6.4 Packages 中,它说(强调我的):
需要
文件才能使 Python 处理目录 将文件包含为包(除非使用命名空间包, 比较先进的功能)。这 可以防止目录带有 常用名称,例如__init__.py
,无意中隐藏了有效名称 模块稍后出现在模块搜索路径中。string
谁能举个例子来解释粗体部分的含义吗?
例如,Python 文件旁边名为
string
的目录不会破坏 import string
。
考虑:
- my_script.py
- string/
和
import string
print(string)
在那
my_script.py
。
如果所描述的行为并非如此,
import string
中的my_script.py
将尝试导入“本地”string
包 - 您可以通过添加__init__.py
并查看情况如何变化来验证这一点。