我在 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
提交
取消