【老九】【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)会作为异常(对象)抛出。
异常处理:函数抛出异常,调用者可以捕获以及处理该异常,异常处理最重要的优势是将
错误检测和处理分隔开来。
- 恢复正常的程序执行
- 进行日志处理
- 以某些方式提醒用户(错误提示、对话框等)
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,请备注来自****
老九学堂免费C、C++、Java课程地址: https://study.163.com/courses-search?keyword=老九学堂