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语句主动引发异常,主动已发异常时可以指明异常类型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试pyth...
    _宁采臣阅读 4,633评论 0 10
  • Python异常处理 异常概念: 异常:就是不正常的情况,程序开发过程中错误和BUG都是补充正常的情况 异常发生的...
    youngkun阅读 4,449评论 0 4
  • 一、错误和异常 1.概念 两种容易辨认的错误​ 语法错误:一些关于语法的错误【缩进】​ 异常:代码完全正确,但是,...
    hollow_02f9阅读 4,962评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,263评论 0 10
  • 第一步 打开CMD输入net start mysql (注意start后面的mysql是你自己设置的名字) 关...
    梅梅golang阅读 2,656评论 0 0

友情链接更多精彩内容