【ZZ】windows+python2.7在IDLE中執行sys.exit()出現的問題及解決方案

《簡明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

相關文章
相關標籤/搜索