当前位置: 首页 > news >正文

制作企业网站新闻列表页面网页设计网站提供什么服务

制作企业网站新闻列表页面网页设计,网站提供什么服务,漳浦网站制作,v6厂高仿手表网站目录 1、基本概念 2、JSON模块 2.1、dumps() 与 loads() 函数 2.2、dump() 与 load() 函数 2.3、bool 、None 类型的序列化与反序列化 3、pickle模块 3.1、dumps() 与 loads() 函数 3.2、dump() 与 load() 函数 1、基本概念 说明#xff1a;通过文件操作#xff0c;…目录 1、基本概念 2、JSON模块 2.1、dumps() 与 loads() 函数 2.2、dump() 与 load() 函数 2.3、bool 、None 类型的序列化与反序列化 3、pickle模块 3.1、dumps() 与 loads() 函数 3.2、dump() 与 load() 函数 1、基本概念 说明通过文件操作可将字符串写入到一个本地文件但是无法将一个对象如字典列表元组直接写入到一个文件里这是就需要将这个对象进行序列化然后写入文件。序列化把内存中的数据转换为字节序列保存到文件。 反序列化从文件的字节序列恢复到内存中。 类比字符串与 byte 类型之间互相转换常用的 encode() 函数、与 decode() 函数分别代表着编码与解码。 Python中可序列化数据类型 可序列化number、str、list、tuple、dict 字典是最常用的序列化数据类型不可序列化class 、def (函数与实例化对象)、set 是无法进行序列化的 在Python中有两个模块可以实现序列化和非序列化分别是json 和 pickle下面分别说明两者的使用和区别 2、JSON模块 JSON一种轻量级的数据交换标准JSON的本质是字符串。也是一个通用的序列化模块通过它可以完成通用化的序列化与反序列化操作。因为几乎所有的编程语言都有json模块而且他们序列化与反序列化的规则是统一的。 2.1、dumps() 与 loads() 函数 注意这两个函数不能直接和文件交互需要将对象序列化后再写入文件将原数据从文件中读出后再进行反序列化操作。 示例1序列化操作 import json# 定义 整型、字符串、列表、元组、字典 五种数据类型 用于序列化测试 int_test 666 str_test test_string list_test [1, 2, 3] tuple_test (4, 5, 6) dict_test {Name: 林一, Sex: 男, Age: 20}int_test_json json.dumps(int_test) print(int_test_json) # 666str_test_json json.dumps(str_test) print(str_test_json) # test_stringlist_test_json json.dumps(list_test) print(list_test_json) # [1, 2, 3]tuple_test_json json.dumps(tuple_test) print(tuple_test_json) # [4, 5, 6]dict_test_json json.dumps(dict_test) print(dict_test_json) # {Name: \u6797\u4e00, Sex: \u7537, Age: 20} 从执行结果可以看出字典类型的数据类型经过序列化后。字典变成了字符串的同时且字典内的 单引号 变成了 双引号中文也变成了比特类型并且进行了 encode 。 示例2反序列化操作 # 反序列化操作 print(json.loads(int_test_json)) # 666 print(json.loads(str_test_json)) # test_string print(json.loads(list_test_json)) # [1, 2, 3] print(json.loads(tuple_test_json)) # [4, 5, 6] print(json.loads(dict_test_json)) # {Name: 林一, Sex: 男, Age: 20} 注意元组类型经过序列化处理后再通过反序列化还原数据时会变为列表数据类型。 这是因为 元组类型 是 python 语言中特有的数据类型json 作为一个通用格式无法识别元组类型。所以在针对元组类型进行序列化的时候会先将 元组类型 先转为 列表再进行序列化处理同样的在进行反序列化处理时就会将序列化后的 元组类型 又转成了 列表类型 。类型的转换不影响对数据的使用 2.2、dump() 与 load() 函数 作用可以直接和文件交互 示例1序列化 dict_test {Name: hello, Sex: 女, Age: 18} with open(json_test.txt, w) as f:json.dump(dict_test, f) 示例2反序列化 with open(json_test.txt, r) as f:content json.load(f)print(f文件类型是 {type(content)}, 文件内容为 {content}) 2.3、bool 、None 类型的序列化与反序列化 import json print(-------------------序列化----------------------------) print(json.dumps(True)) # true print(json.dumps(False)) # false print(json.dumps(None)) # nullprint(-------------------反序列化----------------------------) print(json.loads(json.dumps(True))) # True print(json.loads(json.dumps(False))) # False print(json.loads(json.dumps(None))) # None 说明从上述运行结果来看bool 类型经过序列化处理后变成了小写的 true、false而 None 类型则变成了 小写的 null 。经过反序列化之后bool、None 类型又被还原成了 python 可读的状态。 注意大多数的编程语言中 bool 类型都是小写的 true、false 。json 作为一个通用的序列化模块也同样遵循着这种规则。(小写的 true、false 依然是字符串类型。 ) 3、pickle模块 说明pickle模块与json模块一样可以进行序列化与反序列化区别在于 pickle 是 Python 内置的序列化模块它只能用于 python 自身来使用而json模块更加通用但pickle模块的性能是要比 json 更好的。所以实际使用根据自身需求选择对应的模块进行使用。 3.1、dumps() 与 loads() 函数 注意区别于 json 模块pickle 模块的 dumps() 函数 返回的是 byte 类型 而 loads() 函数也仅支持 byte 类型的 pickle 序列进行反序列化的操作。 示例1 序列化与反序列化 import pickle# 定义 字符串、元组、字典 三种数据类型 用于序列化测试 print(-------------------序列化----------------------------) str_test test_string tuple_test (4, 5, 6) dict_test {Name: 林一, Sex: 男, Age: 20}str_test_pickle pickle.dumps(str_test) print(str_test_pickle)tuple_test_pickle pickle.dumps(tuple_test) print(tuple_test_pickle)dict_test_pickle pickle.dumps(dict_test) print(dict_test_pickle)print(-------------------反序列化----------------------------) print(pickle.loads(str_test_pickle)) print(pickle.loads(tuple_test_pickle)) print(pickle.loads(dict_test_pickle)) 3.2、dump() 与 load() 函数 作用dump()函数能一个接着一个地将几个对象序列化存储到同一个文件中随后调用load()来以同样的顺序反序列化读出这些对象。 参数protocol是序列化模式默认是0ASCII协议表示以文本的形式进行序列化protocol的值还可以是1和21和2表示以二进制的形式进行序列化。其中1是老式的二进制协议2是新二进制协议。 示例序列化与反序列化 import pickle dict_test {Name: hello, Sex: 女, Age: 18} with open(pickle_test.txt, wb) as f:pickle.dump(dict_test, f, 0)with open(pickle_test.txt, rb) as f:content pickle.load(f)print(f文件类型是 {type(content)}, 文件内容为 {content}) 注意 1、由于写入文件和从文件读出都是以二进制的形式所以读写是的模式必须是wb, rb.2、为避免写入文件的内容乱码在dump()里加上第三个参数设为0(ASCII协议).
http://www.zqtcl.cn/news/856974/

相关文章:

  • 汉中网站建设费用外贸网站服务商
  • 苏宿工业园区网站建设成功案例色流网站如何做
  • 北沙滩网站建设公司电子商务网站建设管理论文
  • 公司备案证查询网站查询系统网页设计html代码大全及含义
  • 成都开发网站建设做网站一般会出现的问题
  • 企业网站设计布局方式如何在社交网站上做视频推广方案
  • 惠城网站建设服务做1688网站需要懂英语吗
  • 请人做网站要多少钱搜索引擎优化概述
  • 郑州中森网站建设免费网站app生成软件
  • 做诚信通网站seo新手快速入门
  • 做网站怎么去找客户带会员中心WordPress免费主题
  • 网站建设资费安平县护栏网站建设
  • 做视频网站侵权吗个体户网站备案
  • 苏州姑苏区建设局网站智慧团建登录官网手机版
  • 如何搭建一个视频网站广告制作方案
  • 网站策划ps苏州建站公司速找苏州聚尚网络
  • 网站备案 关闭客户制作网站时的问题
  • 项目网站分析推荐做ppt照片的网站
  • wordpress注明网站网站建设需要什么手续
  • 厦门过路费网站福建省建设执业资格注册中心网站
  • c 网站开发案例详解手机网站返回顶部代码
  • 济南微网站建设图书馆评估定级关于网站建设标准
  • flash型网站宝塔面板做网站绑定域名
  • 建设网站的策划书门户网站 流量
  • 佛山高端网站建设便宜自适应网站建设
  • 网络营销创意案例桂林seo公司推荐23火星
  • 网站开发知识产权归属问题wordpress会计模板下载
  • 昆明网站的优化自媒体是干什么的
  • 大成建设株式会社网站删掉wordpress主题
  • 个人网站备案类型网络维护培训班