1 回答

TA貢獻1872條經驗 獲得超4個贊
那是因為你在兩個不同的 python 環境中運行 python。
要檢查您正在運行哪個環境,您可以在代碼頂部添加以下兩行:
import sys
print(sys.executable)
def myFunc():
? ? print('yes')
? ? quit()
myFunc()
運行:
python3 test.py?
導致這個輸出
/usr/bin/python3
yes
相反,我從 jupyter 獲得了這個:
/snap/jupyter/6/bin/python
yes
---------------------------------------------------------------------------
NameError? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Traceback (most recent call last)
/home/marco/Documents/gibberish/test.py in <module>
? ? ? 6? ? ?quit()
? ? ? 7?
----> 8 myFunc()
? ? ? 9?
? ? ?10?
/home/marco/Documents/gibberish/test.py in myFunc()
? ? ? 4 def myFunc():
? ? ? 5? ? ?print('yes')
----> 6? ? ?quit()
? ? ? 7?
? ? ? 8 myFunc()
NameError: name 'quit' is not defined
基本上,當您從 jupyter 運行代碼時,您正在加載一組不同的內置庫
無論如何,退出只能在解釋器中使用
或者你可以簡單地使用
sys.exit()
哪個做同樣的事情:)
添加回答
舉報