十 二、python基础:文件(文本、json、csv)

一:打开和关闭文件

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 对象

猜你喜欢

转载自blog.csdn.net/weixin_42834609/article/details/81326396