我有一个名为package
的包,里面有file.py
。结构看起来像
/package
__init__.py
file.py
里面file.py
,只是
print "hello world"
当我使用 python -m package.file.py
执行 file.py 时,它运行并输出hello world
然后
C:Python27python.exe: No module named package.file.py
这是怎么回事?代码从字面上运行,然后是错误。
你要求 Python 加载位于 package.file
包中的py
模块。您没有这样的模块。
但在 Python 确定它不存在之前,它首先必须加载父包。所以这会发生:
import package # succeeds
import package.file # succeeds, code prints "hello world"
import package.file.py # fails
删除.py
部分;加载模块时不指定文件扩展名。以下内容有效,不会引发异常:
python -m package.file