我在 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
添加回答
举报
0/150
提交
取消
