python flask框架教程,如何安装flask

  python flask框架教程,如何安装flask

  Python3.7中的Picklejson模块

  一、什么是序列化?

  序列化是将对象的状态转换为可以保留或传输的格式的过程。与序列化相反,它是将流反序列化为对象。这两个过程的结合使得数据的存储和传输变得容易。

  2.序列化pickle模块

  泡菜模块是做什么用的?

  用于访问结构化数据。在特定于python的类型和python数据类型之间转换。

  可以通过选择存储的数据类型。

  python支持的所有原生类型:boolean、integer、浮点数、复数、string、byte、None;

  由任何本机类型组成的列表、元组、字典和集合

  函数,类,类的例子。

  酸洗模块的常用方法

  Pickle提供了四个函数:转储、转储、加载和装载。

  pickle.dumps(obj(,protocol)))

  作用:将obj对象序列化为字符串格式,而不是保存到文件中。(将封装的对象作为字节对象返回。不需要写入文件)。

  参数描述:

  要序列化的对象。

  协议:如果省略此项,默认值为0。如果是负数或HIGHEST_PROTOCOL,则使用最高的协议版本。

  # dumps函数

  # dumps将数据转换成只有python语言才能识别的特殊形式的字符串。

  进口提货

  信息={

  姓名:薇薇安,

  年龄:20,

  身高:157英尺

  }

  数据=泡菜。# dumps(info) dumps将数据转换为字节格式

  是,打印(数据)

  #输出

  # b \ X80 \ x03 } q \ x00(x \ x04(x00)x00 name q \ x01x \ x06(x00(x00)x00 vivianq \ x02x(x03)

  pickle.dump(obj,file,protocol=None,)

  功能:将obj对象序列化为打开的文件并保存。

  参数描述:

  必需的参数obj表示要封装的对象。

  必选参数file表示obj要写的文件对象,文件必须以二进制可写模式打开。也就是说,是“wb”

  注意:Dictionary a={name:Tom , age:22}保存在pickle.dump上的本地文件中,保存数据的结构是字典,但普通file.write写入文件的是字符串。

  #转储功能

  # dump将数据转换成只有python语言才能识别的特殊形式的字符串,并写入文件。

  进口提货

  信息={

  姓名:薇薇安,

  年龄:20,

  身高:157英尺

  }

  withopen(information.pkl),(wb))作为f:

  pickle.dump(info,f)).

  pickle.loads(string)).

  功能:反序列化。从字符串中读取预先序列化的obj对象(从byte对象中读取并返回封装的对象)。

  参数描述:

  字符串:文件名。

  # loads函数

  # loads将pickle数据转换为python数据结构

  进口提货

  信息={

  姓名:薇薇安,

  年龄:20,

  身高:157英尺

  }

  data1=pickle.dumps(info)

  是,打印(数据1)

  DATA2=pickle.loads(data1))。

  是,打印(数据2)

  #输出

  # b \ X80 \ x03 } q \ x00(x \ x04(x00)x00 name q \ x01x \ x06(x00(x00)x00 vivianq \ x02x(x03)

  # { 姓名:薇薇安,年龄:20,身高:157}

  pickle.load(文件).

  功能:反序列化加载对象,从文件中读取数据,序列化并读取文件中的对象。

  参数描述:

  文件:文件名。必需的参数文件必须以二进制可读模式“rb”打开。其他可选参数。

  #加载

  功能

  # load从数据文件中读取数据,并将其转换为python的数据结构

  进口泡菜

  用open(information.pkl , rb )作为f:

  print(pickle.load(f))

  #输出

  # { 姓名:薇薇安,年龄:20,身高:157}

  3.序列化模块json

  json模块是用来做什么的?

  用于访问结构化数据。用于将字符串转换为Python数据类型。

  json可以存储的数据类型

  仅支持int\str\list\tuple\dict

  json模块中的常用方法

  Json提供了四个函数:Dump、Dump、Loads和Load。

  字典转换成json字符串

  文件中只能写字符串,但是字典可以转换成json字符串,JSON字符串是字符串,可以存储在文件中。

  # json.dumps以一种特殊的形式将数据转换成所有编程语言都能识别的字符串。

  导入json

  信息={

  姓名:薇薇安,

  年龄:20,

  身高:157英尺

  }

  J_str=json.dumps(info) #注意,json转储生成的是字符串,而不是字节

  打印(j_str)

  打印(类型(j_str))

  #输出

  # { 姓名:薇薇安,年龄:20,身高:157}

  #

  #在使用之前。dump()方法,您应该在写入文件之前打开它。

  用open( message . JSON , w )作为f:

  json.dump(info,f)

  json字符串转换成字典

  # json.loads用于解码json数据。此函数返回Python字段的数据类型。

  print(json.loads(j_str))

  print(type(json.loads(j_str)))

  #输出

  # { 姓名:薇薇安,年龄:20,身高:157}

  #

  用open( message . JSON )作为f:

  data=json.load(f)

  打印(数据)

  打印(类型(数据))

  # { 姓名:薇薇安,年龄:20,身高:157}

  #

  四、json vs pickle

  Json:

  优点:跨语言(json可以用于不同语言之间的数据传输)和体积小。

  缺点:只能支持int\str\list\tuple\dict。

  泡菜:

  优点:专为python设计,支持所有python数据类型。

  缺点:只能在python中使用,占用大量空间存储数据。

  动词(verb的缩写)负载与负载

  Load和loads都实现“反序列化”,区别在于:

  内存对象的加载

  也就是将Python内置数据序列化成字符串。例如,用json.dumps序列化的对象d_json=json.dumps ({a: 1, b: 2}),其中d_json是字符串 {b: 2, a: 1}

  D=json.loads (d _ json) # {b: 2, a: 1},使用load重新反序列化为dict

  对于加载文件句柄

  如果本地有json文件a.json,可以是d=json.load(open(a.json ))

  相应地,dump就是将内置类型序列化为json对象,然后写入文件。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: