
当当当!!!
python小课堂又开课啦!!
今天小E想跟大家讲讲
python中的文件和异常处理这两部分


文件操作部分

首先让我们了解一下“文件”
文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象。用文件形式组织和处理表达数据也更为有效灵活。文件包括两种类型:文本文件和二进制文件。
无论文件是创建为文本文件还是二进制文件,都可以用“文本文件方式”和“二进制文件方式打开”但是打开后操作不同。

那么文件的介绍我们就讲完了噢~
相信各位同学应该对文件有了一个大致的了解了叭~
那么我们接下来开始介绍文件的操作
1.文件的打开与关闭:

Python对文本文件和二进制文件采用统一的操作步骤,即“打开--操作--关闭”。
Python解释器通过内置的open()函数打开文件,并实现该文件与一个程序变量的关联,格式如下:
=open(,)
eg: file=open(‘7.txt’,’w’)
open函数有两个参数:文件名和打开模式。
文件名可以是实际名字,也可以是包含完整路径的名字。打开模式用于控制何种方式打开文件
open函数提供几种基本打开模式:

当你操作完成了的时候
需要关掉文件,关文件就省事多了
使用close()方法即可:.close()
2. 文件的读写

当文件打开后,根据打开方式的不同可以对文件进行相应的读写操作。
注意!当文件以文本文件方式打开时,读写按照字符串方式,采用当前计算机使用的编码或指定编码;当文件以二进制方式打开时,读写按照字节流模式。
下面是python提供的3个常用的文件读取内容方法:
Python提供3个与文件内容写入有关的方法:
.writes(s) 向文件写入一个字符串或字节流
.writelines(lines) 将一个元素全为字符串的列表写入文件
.seek(offset) 改变当前文件操作指针的位置,offset的值:0--文件开头 1--当前位置 2--文件结尾




可以看到,test.txt文件已经建立好并且内容已经写进去了,但是程序中的print()函数却并没有将内容输出.
这是为什么呢?
这是因为写入文件后,当前文件的操作指针在写入内容的后面,当开始执行print()函数时,是从指针后面开始输出内容的,但是写入的内容却在指针前面,因此未能打印出来。所以,可以在写入文件后增加一条语句 fo.seek(0) 将文件操作指针返回到文件开始,即可显示写入的内容。

像上图那样改完之后
我们就可以让程序输出我们想要的结果啦~~~


python中异常处理

先来观察下面这段程序


可以看到程序运行正常,如果输入的不是一个数会怎样呢?

在上面那坨红色的字里面寻找有用的信息
‘line 1’:表示异常发生的行数
‘NameError’:表示异常类型
Python异常信息中最重要的就是异常类型,它表明发生异常的原因,也是程序处理异常的根据。
Python使用try-except 语句来实现异常处理,其基本语法格式如下:
Try:
Except:
语句块1是正常执行的程序内容,当发生异常时执行except保留字后面的语句块,接下来看段简短的代码(写长了怕你们不看)

bingo!这样就完成了!是不是很神奇呢!!
很简单吧对不对!
是不是其实没有那么难呢~~~

接下来我们过渡到异常处理的高级用法
Try-except语句可以支持多个except,格式如下:
Try:
Except:
Except:
.......
Except:
其中第一个到第n-1个都指定了异常,说明这些except所包含的语句块只处理这些异常,最后一个没有异常类型,表示它可以处理所有其他异常。
除了try-except 保留字之外,异常语句还可以与else和finally保留字配合使用,语法格式如下:
try:
Except:
Else:
Finally:
此处的else语句与for循环和while循环中的else一样,当try中的语句块1正常执行结束没有发生异常时,else中的语句块3执行,可以看作是对try语句块执行结束后的一种追加处理。
finally语句块则不同,无论是否发生异常,语句块4都会正常执行,可以将语句块1的一些收尾工作放在这里执行,例如打开关闭文件之类的操作。

python能识别多种异常类型,但是不建议同学们写程序时过度依赖try-except语句。这种处理机制一般只用来检测极少发生的情况。对于上述的小代码应该采用if语句来判断。


以上就是python文件操作和异常处理
希望各位同学仔细学习
熟练掌握这些知识。
同学们下节课再见啦~
bye~~

执行编辑 | 王人杰
责任编辑 | 于文博
