《Python 核心编程》 第三章习题 3.10

来源:互联网 发布:我想在淘宝上做代理商 编辑:程序博客网 时间:2024/04/30 15:32

3.10 (异常)使用类似与readTextFile.py 中异常处理的方法取代 makeTextFile.py 中对 os.path.exists()的调用,反之亦然。


makeTextFile.py

#!/usr/bin/env python'makeTextFile.py -- create text file'import osls = os.linesep#get filenamefname = raw_input('Input the filename : ')while True:# check if this file livestry:fobj = open(fname, 'r')except IOError, e:print "***file open error : ", ebreakelse:# if os.path.exists(fname):#     print "ERROR: '%s' already exists" % fname#     break# else:print 'OK, you create a new file now and its named %s' % fname#get file content (text) linesall = []print "\nEnter lines ('.' by itself to quit).\n"#loop until user terminates inputwhile True:    entry = raw_input('> ')    if entry == '.':        break    else:        all.append(entry)# write lines to file with proper line-endingfobj = open(fname, 'w')fobj.writelines(['%s%s' % (x, ls) for x in all])fobj.close()print 'DONE!'break


readTextFile.py

#!/usr/bin/env python'readTextFile.py -- read and display text file'import os# get filenamefname = raw_input('Enter filename : ')print# attempt to open file for reading # try:# fobj = open(fname, 'r')# except IOError, e:# print "***file open error:", e# else:if os.path.exists(fname):# display contents to the screenfor eachLine in fobj:print eachLine,fobj.close()else:print 'No such files or directory!'

一点感想:

为什么我们要造轮子?

有可能os.path.exists()里面已经存在如何应对异常现象处理的情况,但是我们还是要造一个轮子出来,重新发明一个轮子来做同样一件事。是因为我们要处理程序中非正常的错误,比方说服务器忽然掉线什么的,在没有合适函数的情况下,还是自己造一个轮子出来吧。


0 0
原创粉丝点击