第十章 文件和异常
10.1 从文件中读取数据
10.1.1 读取整个文件
- open():接受一个参数,要打开文件的名称,返回一个文件对象
- 要以任何方式使用文件,都得先打开文件
- with:在不再需要访问文件后将其关闭
- close():关闭文件
- read():读取一行数据,末尾会多一个空行
10.1.2 文件路径
- 可用相对路径、绝对路径来标记
- linux中是"/"来区别
- Windows中是“\”来区别
10.1.3 逐行读取
- for line in 文件名
- 每一行末尾都有换行符
10.1.4 创建一个包含文件各行内容的列表
- readlines():一系列行的内容,可以存入列表中
10.1.5 使用文件的内容
- 读取文本文件时,Python将其中的所有文本都解读为字符串
10.1.6 包含一百万位的大型文件
- Python处理的数据量,没有限制
10.2 写入文件
10.2.1 写入空文件
- open()函数中提供两个实参,第一个是要打开文件的名称,第二个实参告诉Python以什么模式打开文件
- "w":写入模式“r”:读取模式 “a”附加模式 “r+”:读取和写入 默认是只读模式
- 获得文件的打开对象后调用write()写入字符串
- Python只能将字符串写入文本文件
10.2.2 写入多行
- write()不会在你写入的文本末尾添加换行符
- 可以就像普通输出时在字符串末尾写入“\n”
10.2.3 附加到文件
- 添加内容而不是覆盖就可以用“a”模式打开文件
- 再调用write()
10.3 异常
异常:管理程序执行期间发生的错误
10.3.1 处理ZeroDivisionError异常
- 除零错误会抛出异常
10.3.2 使用try-except代码块
- 可用try包裹可能出现异常的代码块
- except包裹的则是提示错误的代码信息
- 如果没有异常则跳过except,否则执行except
10.3.4 else代码块
- try-except-else:Python尝试执行try代码块,try代码块没有发生异常则执行else代码块,否则执行except代码块
10.3.5 处理FileNotFoundError异常
- 找不到文件抛出异常
10.3.6 分析文本
- split():以空格为分隔符将字符串拆分成多个部分
- len():计算列表长度
10.3.8 失败时一声不吭
- pass:什么都不做,也可充当占位符
10.4 存储数据
10.4.1 使用json.dump()和json.load()
- json.dump():接受两个实参,要存储的数据,可用于存储数据的文件对象
- import json
- json.load():文件名