脚本运行时表示没有名为包.file.py

2024-04-24 11:42:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为package的包,里面有file.py。结构看起来像

/package
  __init__.py
  file.py

file.py内部,只是

print "hello world"

当我执行文件.py使用python -m package.file.py, 它运行并输出hello world,后跟

C:\Python27\python.exe: No module named package.file.py

这是怎么回事?代码在错误之后运行。你知道吗


Tags: 文件no代码pypackagehelloworldinit
1条回答
网友
1楼 · 发布于 2024-04-24 11:42:42

您要求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

相关问题 更多 >