学文件的目的:数据不能可能一直在内存中存储,持久化存储到磁盘就需要用到文件了!
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
完整的语法格式为:
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
常用mode 参数;
注意:默认为文本模式,其他模式: 加b的作用,以二进制的格式打开文件,进行上述操作如果要以二进制模式打开,加上 b 。
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:
Python 文件 flush() 方法是用来把文件从内存buffer(缓冲区)中强制刷新到硬盘中,同时清空缓冲区。 一般情况下,文件关闭后会自动刷新到硬盘中,但有时你需要在关闭前刷新到硬盘中,这时就可以使用 flush() 方法。
实例:
执行结果:
注意:在Windows系统中 一行结束的标志是 它会把 转化成
一旦跳出这个语句块 ,就自动就帮你关掉了 ,这就是上下文管理器,with能够自动关闭文件,不需要执行close方法
**实例 ** (我这里就不一一运行了)
总结:上下文管理器 不单单在文件里面有运用,在其他的地方也用的非常平凡,文件的操作在爬虫上用的非常之多
在了解异常之前我们应该了解异常是什么? 异常的本身是类的实例。
学习异常目的:异常的掌握是程序员的基本要求,以后所有的bug 都可以通过异常的学习 开始自己排查错误
2.2.1、try/except
异常捕捉可以使用 try/except 语句
举个简单的例子:
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如
当然except也可以每次处理一个异常,就像if··elif那样,例如:
2.2.2、try/except…else
try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。
else 子句将在 try 子句没有发生任何异常的时候执行。
下面举个简单的例子:
2.2.3、try-finally 语句
ry-finally 语句无论是否发生异常都将执行最后的代码。
以下实例中 finally 语句无论异常是否发生都会执行:
总结:异常的处理对于我们后续的逻辑有很大的帮助,在项目中不会应为个人原因或者网络原因导致系统的直接崩溃,而是利用对应的错误处理返回对应的提示信息,提升产品的体验度