我在 MacOS 上的終端中運(yùn)行我的 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 交互式會(huì)話中的輸出:>>> 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腳本中的所有語句都正確執(zhí)行,但解釋器返回一個(gè)錯(cuò)誤,指出找不到腳本。這里發(fā)生了什么?
2 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
import script1.py
解釋器認(rèn)為您正在嘗試py
從 package中導(dǎo)入命名的模塊script1
。
現(xiàn)在,它可以找到一個(gè)名為script1
- 即你的文件名為script1.py
. 所以它繼續(xù)加載它。python的“加載”意味著運(yùn)行文件中的語句。所以它做到了。你得到你的輸出。
然后解釋器意識(shí)到它py
應(yīng)該是一個(gè)模塊,所以script1
應(yīng)該是一個(gè)包(即一個(gè)包含源文件的目錄)。但script1
只是一個(gè)普通的文件。因此它會(huì)拋出該錯(cuò)誤。
嘗試導(dǎo)入名為 的模塊script1.py
時(shí),您應(yīng)該使用:
import script1
嘗試運(yùn)行名為 的文件script1.py
時(shí),您可以使用:
python script.py
添加回答
舉報(bào)
0/150
提交
取消