一:打开和关闭文件
1、必须先用python内置的open( )函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写
2、open( ) 打开一个文件
不同模式打开文件的完全列表:
几种打开模式的特点:
3、close( ) 关闭打开的文件
二:读写文件
1、write( ) 向文件写入内容
2、read( ) 读取文件内容
3、readlines( )和readline( )
readlines( ) 可以按照行的方式把整个文件中的内容进行一次性读取,并且返回一个列表,其中每一行的数据作为一个元素
readline( ) 将文件的内容按行读取,每使用一次该函数,只会读取一行,且读出来的内容是字符串
4、read( ) 优化:每次读取1024字节
5、制作一个文件备份程序:
任务描述:输入文件的名字(含后缀),然后程序自动完成对文件的备份
三:文件位置
1、文件定位
2、总结:tell( ) 可以查看当前读取到了哪个位置,
在python2中:偏移量可以为负数,也可以从任意位置偏移,即 form 可以为 0、1、2
在python3中:偏移量不能为负数,且当偏移量不为零时,只能从文件开头开始偏移,即此时 from 只能为 0
四:with as 语句打开一个文件,可以避免忘记关闭文件句柄的现象
五:json
1、json 是一种轻量级的数据交换格式,json 的数据格式其实就是 python 中的字典格式,里面可以包括列表
2、在python中,有专门处理 json 格式的模块—— json 模块和 picle 模块,这里只介绍 json 模块
3、json 模块提供了四个方法:dumps 、dump 、loads 、load ,使用之前需 import json 导入 json 模块
4、dumps 和 dump
源代码中可以看出:
dumps 只是完成了序列化为str,即将对象(字典、列表、元组等)转成字符串
dump 必须传文件描述符,并将序列化的str 保存到文件中,即将对象转为字符串并写入到了文件中,需要两个参数,第一个参数为文件描述符(也就是想要写到文件中的内容),第二个参数为文件对象(也就是要写到哪个文件中)
5、loads 和 load
从源代码中可以看出:
loads 只完成了反序列化,即将 dumps 或 dump 序列化为 str 的对象还原了
load 只接收文件描述符,并完成了读取文件和反序列化 ,即读取文件内容并完成了反序列化,需要一个参数——文件描述符(也就是想要读取并反序列哪个文件)
6、json总结:
① json 序列化方法: dumps 无文件操作 dump 序列化+写入文件
② json 反序列化方法: loads 无文件操作 load 读取文件+反序列化
③ 格式化写入文件: indent = 4
④ json 模块序列化的数据更加通用,
picle 模块序列化的数据仅在python中可用,但功能强大,可以序列化函数
⑤ json 模块的可序列化和反序列化的数据类型为:
六:csv
1、csv(Comma-Separated Vlaues)即逗号分隔值,可以用 Excel 打开查看,由于是纯文本,所以任何编辑器都可以打开
2、与 excel 文件不同,在csv文件中:
3、在csv文件中以逗号作为分隔符来分隔两个单元, 像 a,,c 表示单元格 a 和单元格 c 之间还有一个空白的单元格
4、创建一个csv类型文件
5、从csv文件中读取数据
①从csv文件中读取内容并写入到列表中
②从csv文件中读取内容并写入到字典中
6、写数据到csv文件中
7、DictReader 和 DictWriter 对象