【老九】【Python】文件操作与异常处理

计算机中的文件:相关记录或放在一起的数据集合。

 

open()函数:用来创建一个文件对象并使用这个对象的read()和write()方法读写数据。

         file_object = open(file_path,mode)

         文件操作的基础模式有三种:1、r模式为read(默认操作);2、w模式为write;

           3、a模式为append。

         文件读写内容的格式有两种:1、t模式为text;2、b模式为bytes。需要注意的是

           t、b这两种模式均不能单独使用,都需要与r/w/a之一连用。

        

        

         打开的文件对象在最后必须使用close()方法关闭。

        

         字符串前面+r表示这是一个路径,在windows下就不用双反斜线了。

         try:是进行异常处理

         finally:最后需要执行的操作

         with open() as file:是try finally的简写方式(finally中的关闭操作),as后面则是为打开

                   的对象赋予一个名字,方便后面好使用这个对象进行操作。

 

文件的读取操作(file_path是已经定义好的路径变量)

 

os模块(提供了多数操作系统的接口函数)

         os.sep:当前操作系统下的分隔符。

         os.path.abspath(path):返回path的绝对路径

         os.path.isabs(path):判断path是否为绝对路径

         os.path.exists(path):判断path是否存在。

         os.name:当前操作系统的名称

         os.getenv(path):获取环境变量path的内容

         os.getcwd():获得当前的工程(项目)路径

         os.listdir():获取当前目录下的所有目录和文件(列表)

         os.listdir(path):获取path目录下的所有目录和文件(列表)

         os.path.isfile(path):判断path是否为文件

         os.path.isdir(path):判断path是否为文件夹

         os.path.join(folder_path,file_name):兼容不同操作系统的路径拼接

         os.rmdir(path):删除path(空目录,文件会报错,单级目录)

         os.remove(path):删除path(文件,目录会报错)

         os.removedirs(path):删除path(空目录,非空目录会报错,多级目录)

         os.mkdir(path):创建path(目录,单目录)

         os.makedirs(path):创建path(目录,多层目录)

想实现完美删除非空目录,需要使用递归方式删除

        

 

 

异常:在运行时出现的错误,在程序的运行过程中,如果检测出一个不可能执行的操作,就

会出现运行时错误,运行时错误(RuntimeError)会作为异常(对象)抛出。

 

异常处理:函数抛出异常,调用者可以捕获以及处理该异常,异常处理最重要的优势是将

         错误检测和处理分隔开来。

  1. 恢复正常的程序执行
  2. 进行日志处理
  3. 以某些方式提醒用户(错误提示、对话框等)

        

         try:监控有可能产生异常的语句块

         except:检测出现的异常类型是否匹配(as 取别名),

         else:如果try块没有异常抛出就会执行else块

         finally:不管有无异常,一定会执行的语句块(一般用来释放资源)

         raise:通常在函数中手动抛出异常

 

为了配合异常处理使用traceback模块

traceback.print_exc():在控制台输出异常栈信息。

traceback.format_exc():以字符串形式返回异常栈信息

traceback.print_exception():等价于print_exc()

 

异常的层次结构(https://docs.python.org/zh-cn/3/library/exceptions.html#exception-hierarchy

 

自定义异常:可以通过继承Exception类来定义一个自定义异常

 

日志处理:(http://wiki.xuetang9.com/?p=7377

日志需要引入logging模块

日志的常见级别:CRITICAL(严重的) > ERROR > WARNING > INFO > DEBUG

        

         level:日志的记录级别

         filename:设置日志保存的路径位置

         filemode:设置操作模式

         format:设置日志的打印格式

遇到问题,可加老九君个人QQ:614940318,请备注来自CSDN
老九学堂免费C、C++、Java课程地址: https://study.163.com/courses-search?keyword=老九学堂

徐老师线下全栈就业班开始报名啦~

零基础开讲,8个月,Java全栈学习,终身推荐就业

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值