python-文件处理/异常处理
很多时候Python程序的输入/输出是与用户进行交互,从用户那里使用input()等方法获取输入,并使用print()等方法打印一些结果
另外一个常用的输入/输出类型是处理文件,比如需要长期存储程序中产生的数据或从文件中读取大数据量的数据,因此创建、读、写文件是许多程序所必需的
1、文件读取
想要读取文件中的数据,首先需要先打开文件(文件已存在)
打开文件的命令很简单:open()方法,需要将文件名作为参数传递
文件名可以是文件的完整路径,也可以是相对路径,如果不指定文件路径,默认在程序代码的相同路径下
打开文件后,需要将文件内容保存在变量中才能去读取,使用read()方法把文件的所有内容读进一个字符串中
读取完成后,记得使用close()关闭文件,释放资源
读取文件的方法还有:readline()读取一行内容、readlines()把文件按行读取到一个列表中
2、文件写入
向文件中写入数据,同样也要使用open()方法先打开文件(注意:需要指定写入模式,即将字符w作为第二个参数传递给file())
打开文件后可以使用write()方法写入数据
write()方法的参数可以是一个字符串或字符串变量
除了write()方法,在文件写入时,也可以使用writelines()方法将列表中的字符串分行写入
文件打开模式:
r:只读模式,也是默认模式
w:写入模式,会将文件中原有的数据覆盖掉,如果文件不存在,会自动创建文件
a:写入模式,将新的内容追加到文件末尾
x:创建一个新的文件并写入,如果文件存在,则命令执行失败
b:二进制模式,读取的文件内容以字节返回
t:文本模式,读取的文件内容以字符串返回
+:打开文件进行更新(即可读又可写)
3、异常处理
在程序运行时,如果代码引发了错误,Python就会中断程序,并输出错误提示,这样的问题大家之前在编写代码的过程中经常碰到
当然这类问题可以避免,但是在实际的应用中,很多错误是编写代码的人员无法控制的,比如用户输入不合规定的数据或者需要打开的文件不存在,这些情况被称作“异常”
一个好的程序需要能处理可能发生的异常,避免程序因此中断,即希望程序执行过程中即使出现异常,程序也能正常的执行下去,这种情况下就需要用到Python中的异常处理
在Python中使用try…except语句来处理异常,具体做法是将可能引发异常的语句放到try块中执行,当发生异常时,跳过try块中剩余的语句,直接跳转至except中的语句来处理异常
except语句也可以专门处理指定的异常,即在except语句后跟异常名称,如果不指定异常名称则表示处理所有异常
except语句可以处理特定的异常,而且在一个except语句块可以处理多个类型的异常,如果是处理多个异常,要使用圆括号来括起来
如果不同类型的异常,程序的处理方式不相同,还可以使用多个except语句
在Python中使用try…except语句时,可以结合else来实现这种没有发生的场景
finally语句表示最后,即无论是否发生异常都需要执行的语句块(可以和try…except…else一起使用)
在Python中进行异常处理时,也可以使用raise语句主动引发异常,主动已发异常时可以指明异常类型