异常处理and文件操作
Posted yanruizhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理and文件操作相关的知识,希望对你有一定的参考价值。
异常处理(Exception Handle)
异常:程序运行过程中产生的一些影响正常运行的问题
在程序运行过程中,当某条语句产生了异常,如果我们放任不管(不进行捕获处理),那么它将会导致程序直接强制结束
程序运行过程中产生的异常其实就是某个异常类的一个实例,而所有内置异常类都是Exception类的直接或间接子类,我们自己定义的异常类也应该继承Exception类
通过try ,except,else,finally,raise这些关键字实现
语法错误(SyntaxError)无法被捕获处理,Python解释器会在开始执行代码之前进行处理
异常一旦产生就会逐层向上传递,直到被某个except捕获处理,如果一直没有被捕获处理,它将会导致程序强制结束
通过raise关键字可以人为的抛出一个异常
文件I/O(File Input/Output)
实现步骤:
1.打开文件(调用open内置函数)
2.对文件进行各种操作(比如读,写等,调用文件对象的read或write方法)
3.关闭文件(调用文件对象的close方法)
文件系统操作
主要使用os和os.path模块
遍历文件夹:os.listdir, os.walk
with语句
with语句的内部执行流程:
1.计算with关键字后面的表达式的值,这个值是一定要是一个拥有_ _ enter_ _ 和_ _ exit_ _方法的对象;
2.调用该对象的_ _enter _ _方法并将其返回值赋给as关键字后面的变量;
3.执行with体(即with下面的代码块);
4.调用该对象的_ _ exit_ _方法(无论是否在执行with体中代码时产生了异常,这个方法都会被调用
扩展
1.模块就是python源文件,包就是装源文件的文件夹
2.windows下换行符不是/n 是/r/n 所以linux下的文件在windows下运行会有问题
3.文件输入是将外存设备上的信息传入内存,输出是将内存信息传出
4.一般看到点号. 那么其左边就是对象,其右边就是属性或方法
作业
1.实现一个能用于所有公司年会现场抽奖的程序;
2.实现一个文件拷贝工具,要求具备统计拷贝时间和平均拷贝速度
3.优化音乐播放器,实现动态获取指定文件夹下的所有歌曲的功能
4.实现一个程序,找出用户电脑上所有相同的文件(数据内容相同)和最近一个月没有被访问的文件,并提示用户进行删除
5.用Python实现勒索病毒
以上是关于异常处理and文件操作的主要内容,如果未能解决你的问题,请参考以下文章
FunDA(17)- 示范:异常处理与事后处理 - Exceptions handling and Finalizers