为了账号安全,请及时绑定邮箱和手机立即绑定

Python 脚本正确执行每条语句,但也返回 ModuleNotFoundError

Python 脚本正确执行每条语句,但也返回 ModuleNotFoundError

精慕HU 2022-10-05 16:35:40
我在 MacOS 上的终端中运行我的 Python 脚本。script1.py 源代码:# A first Python scriptimport sys              # Load a library moduleprint(sys.platform)         print(2 ** 100)             # Raise 2 to a powerx = 'Spam!'print(x * 8)                # String repetitionPython 交互式会话中的输出:>>> import script1.pydarwin1267650600228229401496703205376Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!Traceback (most recent call last):  File "<stdin>", line 1, in <module>ModuleNotFoundError: No module named 'script1.py'; 'script1' is not a package脚本中的所有语句都正确执行,但解释器返回一个错误,指出找不到脚本。这里发生了什么?
查看完整描述

2 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

import script1.py

解释器认为您正在尝试py从 package中导入命名的模块script1

现在,它可以找到一个名为script1- 即你的文件名为script1.py. 所以它继续加载它。python的“加载”意味着运行文件中的语句。所以它做到了。你得到你的输出。

然后解释器意识到它py应该是一个模块,所以script1应该是一个包(即一个包含源文件的目录)。但script1只是一个普通的文件。因此它会抛出该错误。

尝试导入名为 的模块script1.py时,您应该使用:

import script1

尝试运行名为 的文件script1.py时,您可以使用:

python script.py


查看完整回答
反对 回复 2022-10-05
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您应该在最后删除 .py。当您导入 sys 时,您也不写import sys.py. 另请参阅这篇回答如何在 python 中导入您自己的脚本的帖子。


查看完整回答
反对 回复 2022-10-05
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号