1.保存在程序中的数据是保存在运行内训的,当程序运行结束时,内存自动释放,数据也会消失;
如果不希望数据伴随着程序的结束而消失,就需要将数据通过文件存储到硬盘中。
程序中经常用来保存数据的格式有:数据库文件(bd.sqllite),json文件,plist文件,txt文件,png,jpg,jpeg,gif,mp3,mp4,avi,mov etc.
2.文件操作(操作文件中的内容)
步骤:打开文件,操作文件内容(读操作,写操作),关闭文件
打开文件:open(file,mode="r",encoding=None)
file:字符串;文件在电脑中的地址(文件路径/绝对路径(文件在电脑中的完整路径)/相对路径(py文件所在的目录))./代表当前目录
../代表当前py文件的上层目录,一般情况下写相对路径
mode:字符串,文件打开的方式;决定打开文件后能够对文件做什么,以及读写的数据类型;
“r”:只能读,不能写;读出来字符串,equal “rt”;“rb”:以只读的方式打开文件,读出2进制文件
“w,wt,tw”:以写的方式修改文件中的内容;写进去的只能是字符串;“wb”以只写的方式打开文件,将2进制内容写入文件,打开原文件的时候回清空原文件。
“a”,“at”:以只写的方式修改文件中的内容,在原文件末尾写入文件。
encoding:只对文本文件有效,设置文本文件的编码方式;"utf-8",编码的方式和解码方式要一致。只针对文本文件的操作有效,对带b的文件时,encoding不能设置。
读操作:文件对象.read()获取整个文件的内容,以字符串或者2进制的形式返回
文件对象.readline()获取文件中一行的内容,以字符串或者2进制的形式返回
文件对象.readlines()
文件操作的时候从游标的时候开始操作,所有一行只能读一次,读完所有文件,光标跑到文件末尾。参考迭代器。。。文件名.seek(0):移动光标到开头
关闭文件:文件名.close()
写操作:对象.write(内容):将内容写入到制定的文件中;
3.with open() as 文件对象:
语法:with open(file,mode="“,encoding=None) as 文件对象:
文件作用域(操作文件)
作用:打开文件,在文件作用域中对文件进行操作,离开文件作用域文件自动关闭。
异常:如果以读的方式打开一个不存在的文件,python会报错。
如果以写的方式打开一个不存在的文件,不会出现异常,并且会创建一个新的文件。
4.二进制文件的读写
普通文本文件可以使用带t或者带b的读写方式去打开
二进制数据文件:视频,音频,图片都是二进制文件,这些文件只能用带b的打开方式打开
5.数据持久化
将数据保存到本地
需要这个数据不是直接赋值而是从文件中取值
当数据值发生改变的时候,将最新的数据更新到文件中
6.json文件
eval()可以将字符串转换为字典,将字符串中的双引号暴力打开,取出字典
json是一种通用语言,几乎所有的高级语言都可以克制json数据转化成当前语句数据,
也支持将当前语言转换成json,一般数据接口提供的数据都是json格式的数据。
json格式的要求:一个json只能有一条数据;数据必须是json支持的数据类型的数据。
json支持的数据类型:
数字:包括所有的数字,小数,整数,正数,复数,支持科学计数法
字符串:字符串只能用双引号包起来的字符集,支持转义字符
布尔值:true,false
数组:相当于python中的列表:【】,元素必须是json数据
字典:相当于python中的字典,key必须是字符串:{“name”:“wer”,“age”:14,“gender”:“man”}
空值:null,相当于python中的None,表示空和没有
将json可是转化为python
数字->int,float
字符串->str
布尔->bool
数组->list
字典->dict
null->None
如何转化为python?json模块中有一个loads可以将json格式的数据转换成python数据
import json
loads(字符串):将json格式的字符串转换成python数据,字符串的内容必须是json数据
将python转化为json
float->数字
str->单引号变成双引号的字符串
bool->布尔(注意大小写)
list/tuple->数组
dict->字典
集合,迭代器不能直接转,需要转化为列表再转化为数组
None->null
如何转:
json.dumps(数据)-转化为json格式的字符串
2019-08-06总结
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 文件操作和异常处理 一.文件操作1 1.数据持久化(数字本地化) 保存在程序中的数据是保存在运行内存中的,当程序运...