《简明Python教程》中第13章讲述“异常”时,有这样的一个实例
import sys,os
def readfile(filename):
'''''Print a file to the standard output.'''
f=file(filename)
while True:
line=f.readline()
if len(line)==0:
break
print line,
f.close()
if len(sys.argv)<2:
print 'No action specified'
sys.exit()
if sys.argv[1].startswith('--'):
option=sys.argv[1][2:]
if option=='version':
print 'Version 1.2'
elif option=='help':
print '''''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
--version : Prints the version number
--help : Display this help'''
else:
print 'Unknown option.'
sys.exit()
else:
for filename in sys.argv[1:]:
readfile(filename)
在windows环境中,使用IDLE环境执行上面的代码,在显示“Enter something -->”时按“Ctrl+Z”组合键时,程序显示Done。而在显示“Enter something -->”时按“Ctrl+D”组合键时,程序执行到sys.exe()时报错,错误代码如下:
No action specified
Traceback (most recent call last):
File "E:\python27\test\test.py", line 13, in <module>
sys.exit()
SystemExit
>>>
这里解释一下发生错误的原因
出现上述错误是正常现象,这是因为在IDLE环境中不允许exit退出。
理由是:sys.exit()是退出python解释器回到上级shell,而IDEL最高级别就是python解释器,所以没法退到上级。
如果通过windows的cmd进入,执行上面提到的教程中的例子,是没有错误的。在这举例:在cmd环境下,输入python,进入python环境,然后执行以下代码