2024-04-24 11:42:42 发布
网友
我有一个名为package的包,里面有file.py。结构看起来像
package
file.py
/package __init__.py file.py
在file.py内部,只是
print "hello world"
当我执行文件.py使用python -m package.file.py, 它运行并输出hello world,后跟
python -m package.file.py
hello world
C:\Python27\python.exe: No module named package.file.py
这是怎么回事?代码在错误之后运行。你知道吗
您要求Python加载位于package.file包中的py模块。你没有这样的模块。你知道吗
package.file
py
但是在Python确定它不存在之前,它首先必须加载父包。所以发生了这样的情况:
import package # succeeds import package.file # succeeds, code prints "hello world" import package.file.py # fails
删除.py部分;加载模块时不指定文件扩展名。以下操作正常,不会引发异常:
.py
python -m package.file
您要求Python加载位于
package.file
包中的py
模块。你没有这样的模块。你知道吗但是在Python确定它不存在之前,它首先必须加载父包。所以发生了这样的情况:
删除
.py
部分;加载模块时不指定文件扩展名。以下操作正常,不会引发异常:相关问题 更多 >
编程相关推荐