最近比较忙,没时间整理,今天先复习一下文件存储。
文件的打开方式:
r:只读方式打开
rb:以二进制只读方式打开一个文件
r+:以读写方式打开文件
rb+:以二进制读写方式打开一个文件
w: 以写入方式打开一个文件,如果以前不存在,则创建,存在则覆盖
wb:以二进制写入方式打开一个文件。如果以前不存在,则创建,存在则覆盖
a:追加方式打开文件。不存在创建,存在继续写。
同时还有ab,a+,wb+等,类比就好。
Text文件存储
with open('explore.txt','w',encoding= 'utf-8') as file:
file.write('内容')
JSON文件存储
直接举个例子:
import json
str ='''
[{
"name":"bandingfang",
"gender":"male",
"birthday":"1998-11-26"
},{
"name":"Selina",
"gender":"female",
"birthday":"1999-1-20"
}]
'''
#这是一个str类型
print(type(str))
#loads()方法将字符串转为JSON对象(列表类型)
#注意,注意,注意,str中的属性必须用双引号包括,比如'name'则会报错
data = json.loads(str)
#读取内容,有两种方法,推荐第二种
#若不存在报错
data[0]['name']
#若不存在输出None
data[0].get('name')
#输出json,用dumps()方法将json对象转换为字符串类型
with open('data.json','w') as file:
file.write(json.dumps(data))
#保持json格式,建议使用,看着比较清晰,也就是带自动缩进
file.write(json.dumps(data,indent=2))
#若果带中文
with open('data.json','w',encoding='utf-8') as file:
file.write(json.dumps(data,indent=2,ensure_ascii=False))
#CSV文件存储
大体介绍一下:CSV文件是一个字符序列,有任意以某种分隔符分开的记录组成。每个记录由字段组成,字段间的分隔符是其他字符或字符串,常见的是制表符和逗号。
可以用excel打开。
直接举个例子:
import csv
with open('data.csv','w',encoding='utf-8') as csvfile:
#delimiter指定列与列间分隔符,这里用’ ‘,默认为’,‘
writer = csv.writer(csvfo;e.delimiter=' ')
#写入一行
writer.writerrow(['id','name','age'])
#写入多行
writer.writerrows([['1','a','10'],['2','b','12']])
#写入字典
fieldnames =['id','name','age']
#初始化字典写入对象
writer =csv.DictWriter(csvfile, fieldnames=fieldnames)
#写入头信息
writer.writeheader()
writer.writerrows([['1','a','10'],['2','b','12']])
#读取
import csv
with open('data.csv','r',encoding='utf-8') as csvfile:
reader =csv.reader(csvfile)
for row in readers:
print(row)