《簡明Python教程》中第13章講述「異常」時,有這樣的一個實例, python
import sys try: s = raw_input('Enter something --> ') except EOFError: print '\nWhy did you do an EOF on me?' sys.exit() # exit the program except: print '\nSome error/exception occurred.' # here, we are not exiting the program print 'Done'
在windows環境中,使用IDLE環境執行上面的代碼,在顯示「Enter something -->」時按「Ctrl+Z」組合鍵時,程序顯示Done。而在顯示「Enter something -->」時按「Ctrl+D」組合鍵時,程序執行到sys.exe()時報錯,錯誤代碼以下: shell
Python 2.7 (r27:82525, Jul 4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> Enter something --> Why did you do an EOF on me? Traceback (most recent call last): File "D:\百度網盤\Python\py\a.py", line 6, in <module> sys.exit() # exit the program SystemExit >>>
這裏解釋一下發生錯誤的緣由 windows
出現上述錯誤是正常現象,這是由於在IDLE環境中不容許exit退出。 code
理由是:sys.exit()是退出python解釋器回到上級shell,而IDEL最高級別就是python解釋器,因此無法退到上級。 orm
若是經過windows的cmd進入,執行上面提到的教程中的例子,是沒有錯誤的。在這舉例:在cmd環境下,輸入python,進入python環境,而後執行如下代碼 教程
>>> import sys >>> sys.exit()
執行sys.exit()命令後,能夠退出python,返回到cmd命令符。 input
若是執行Python (command line): cmd
>>> import sys >>> sys.exit()
執行sys.exit()命令後,Python (command line)窗口被關閉。 it