Python导入空文件夹

Gan*_*hat 4 python python-3.x

/tmp# mkdir foobar
/tmp# python3
Python 3.4.3 (default, Nov 28 2017, 16:41:13) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import foobar
>>> 
Run Code Online (Sandbox Code Playgroud)

为什么python允许导入任何随机(包括空)目录?那么,在上面的快照中,我是导入包还是模块?是的,“foobar”是一个文件夹,但导入目标始终是一个模块(.py 文件),不是吗?

wim*_*wim 7

您无意中创建了一个名称空间包

这个bug …咳咳…这个特性是在Python 3.3+中引入的。

详细信息参见PEP 420

  • 多么烦人的功能啊。不允许“__init__.py”意味着不允许“module.__file__”。我找不到这个“包”...它在哪里? (2认同)