《Python核心编程》第二版第三章答案

本人python新手,答案自己做的,如果有问题,欢迎大家评论和讨论!

更新会在本随笔中直接更新。

我在Windows使用python版本是2.7.0

  

3–10. 异常。使用类似readTextFile.py 中异常处理的方法取代 readTextFile.py makeTextFile.py 中对os.path.exists() 的调用。反过来, 用os.path.exists() 取代readTextFile.py 中的异常处理方法。

我的答案;

makeTextFile.py

 1 '''
 2 @auther:Feng Xu
 3 '''
 4 'makeTextFile.py -- create text file'
 5 
 6 import os
 7 ls = os.linesep
 8 
 9 #get file name
10 while True:
11     fname = raw_input('Input your filename:')
12     #利用读文件来检查fname文件是否存在,如果存在打印错误信息,关闭文件,继续循环;不存在直接异常break退出while循环
13     try:
14         fobj = open(fname, 'r')
15         print "***Error: %s already exists" % fname
16     except IOError, e:
17         break
18     else:
19         fobj.close()
20     
21 all = []
22 print "\nEnter lines('.' by itself to quit).\n"
23 
24 # loop until user terminates input
25 while True:
26     entry = raw_input('-->')
27     if entry == '.':
28         break
29     else:
30         all.append(entry)
31 
32 # write lines to file with proper line-coding
33 fobj = open(fname, 'w')
34 for x in all:
35     fobj.writelines('%s%s' % (x, ls))
36 fobj.close()
37 
38 print 'Done!'

readTextFile.py

 1 '''
 2 @auther:Feng Xu
 3 '''
 4 'readTextFile.py -- read and display text file'
 5 
 6 import os
 7 
 8 while True:
 9     fname = raw_input('Enter filename:')
10     if os.path.exists(fname):
11         break
12     else:
13         print "Error: %s not exists" % fname
14 
15 #display contents to the screen
16 fobj = open(fname, 'r')
17 for eachline in fobj:
18     print eachline,
19 fobj.close()

【未完】

转载于:https://www.cnblogs.com/Skyar/p/3659074.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值