Python学习笔记1

这几天对Python中文件的处理进行了学习(参考工具书为headfirst系列),今天对这几天学习过程中几个要点(主要是异常处理机制)进行简单的小结。

首先需要利用Python中的open()函数打开文件,并对进行赋值:


这里默认路径与文件路径一致,若不一致时,可以对当前默认路径进行修改:


当然也可以直接在open()函数参数中输入文件路径。

接下来,可以根据具体的工作需要对文件中的数据进行处理,这里主要对Python中的异常处理机制进行介绍:
在实际利用Python处理数据时,由于逻辑、文件等问题会引起操作错误,导致程序无法按照编写者的期望正常运行,当然在意外情况比较小的时候,我们可以通过测试程序,根据运行提供的Traceback信息对程序进行调整;但随着程序处理过程中遇到的意外情况的增加,需要不断增加代码来维持程序的正常运行不出错,大大增加了程序编写的工作量,而且会让程序的可读性严重下降。

实际上,Python提供的异常处理机制允许程序错误的出现,但同时会监视错误的发生,并提供恢复的机会[1]。具体来说,正常处理机制下,Python对代码进行运行,若没有错误,成功得到运行结果,发现错误时,运行终止,并通过Traceback提供错误信息;在异常处理机制下,Python首先尝试运行代码,没有问题,得到结果,若发现错误,Python会执行恢复代码,并继续执行代码。

刚刚对Python的异常处理机制进行简单介绍,实际实现这一机制是通过try/except语句实现,举个例子:


“try:”后所跟代码是Python进行尝试执行的部分,若在执行这部分代码过程中出现错误,那么Python会执行恢复代码,即“except:”后的代码,这里是pass语句,即空语句,不做任何事情,执行恢复代码后,Python继续正常执行代码。


当然,异常处理机制为我们精简程序带来很大方便,但很多时候,我们并不希望所有的异常都被“pass”,对于特定的错误,我们仍然希望Traceback能提供相应的错误信息帮助我们修改自己的程序。对于这种情况,我们可以在“except”后限定异常处理机制的错误范围,例如:


这样,只有“ValueError”(数据不符合期望)类型的错误才会“pass”,而像“IOError”(文件操作错误)类型的错误则会通过Traceback给出相关信息。

Tips:在对一个文件处理完后,若想重新对文件数据进行处理,需要利用seek()函数将指针重新指向文件起始位置


小结:主要学习了Python中的文件处理,重点介绍异常处理机制的简单使用


10/13补充:

在前几天的学习中,基于读取文件数据对Python中的异常处理机制和try/except语句有了简单的了解。在实际对文件进行操作时,读or写文件后都需要进行文件的关闭操作。若将文件关闭操作放在try语句后,当在数据处理过程中出现异常情况时,Python会直接跳去执行except后的代码,导致数据可能遭到破坏。

要想让关闭文件的代码无论在什么情况下都会运行,可以在try语句块中加入finally,这样即使出现错误,也能保证关闭正常进行。当然在Python2.6引入with语句后,可以代替finally功能,进一步精简代码


参考文献:

[1]《Head First Python》P89




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值