python之文件操作及异常处理
一、文件操作
1、要打开一个文件,用open(“文件名”,mode = ‘模式‘)表示
当在py文件与要打开的文件在同一个路径下,直接写入文件名,或者要加上文件路径;mode 文件模式,默认模式是只读模式(r)
如,open("test.txt",mode = ‘r‘),其中mode = ‘r‘可以省略不填写
2、使用open打开的文件,可以用一个变量去接收,否则无法对文件进行操作
3、读取文件中的内容,可以用文件内置函数“.read()”
4、添加文件内容,文件模式要改成写,mode = ‘w‘,使用内置函数“.write("写入内容")”
当路径下没有test.txt文件,使用“w”模式后,会新建一个test.txt文件;若路径下原本就有test.txt文件,则写入的内容会将原本文件中的内容覆盖,所以w模式也可以叫成“覆盖模式”
当写入的内容是中文形式,则打开时要定义内容编码,将编码类型改成“utf-8”
5、若向在文件中添加内容,又不想覆盖原本的内容,可以用a模式
使用“a”模式后,若路径下没有个该文件,可以直接创建一个文件;若有该文件,会在原来的文件内容上写入该内容,所以a模式也叫“追加模式”
6、x模式,原创模式
x模式下,如路径下存在该文件,运行提示“文件已存在”,不允许写入新内容;若文件不存在,则创建该文件,并写入内容
7、文件关闭,close()
打开一个文件后,一定要记得关闭,否则无法打开新的文件,且会占用内存
可以表示为,file.close()
8、with语句
进行文件操作时,很容易会忘记关闭文件。所以可以在打开文件操作前添加一个with语句
使用with后,操作结束后,自动关闭文件,避免出现忘关闭文件操作
二、异常处理
1、异常处理表示形式
try:
需要捕获异常的执行代码
except:
捕获异常后执行的代码
else:
未捕获到异常,执行的代码
finally:
无论是否存在异常,均会执行该代码
2、常见异常
IndexError 索引超出某序列范围
ValueError 传入的参数内容有误
KeyError 主键值不存在
NameError 名字错误,该变量没有被定义,找不到该变量
TypeError 数据类型错误
SyntaxError 语法错误
3、简单的捕获异常方法
上述代码,可以判断是否捕获到异常,但是无法输出异常原因
4、进阶版的捕获异常方法,得到异常原因
其中,Exception为所有异常总称,用一个变量err去接收异常,然后将异常打印出来
5、若是要分类型输出异常原因,可以将每种可能的异常标记出来