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

安监局网站建设软文写作什么意思

安监局网站建设,软文写作什么意思,漯河网站建设-千弘网络,网站建设与管理是哪个软件原标题:一文学会Python标准库struct序列化与反序列化董付国老师面向计算机相关专业的教材《Python程序设计(第2版)》和面向非计算机专业的教材《Python程序设计基础(第2版)》同时被评为 清华大学出版社2019年度畅销图书。封面图片:《Python程序设计(第2版…

原标题:一文学会Python标准库struct序列化与反序列化

董付国老师面向计算机相关专业的教材《Python程序设计(第2版)》和面向非计算机专业的教材《Python程序设计基础(第2版)》同时被评为 清华大学出版社2019年度畅销图书。

=================

封面图片:《Python程序设计(第2版)》,ISBN:978-7-302-43651-5,董付国,清华大学出版社,第16次印刷

使用Python标准库struct序列化Python整数、实数、字节串时,需要使用struct模块的pack函数把对象按指定的格式进行序列化,然后使用文件对象的write方法将序列化的结果字节串写入以'wb'或'ab'模式打开的二进制文件。读取时需要使用文件对象的read方法从以'rb'模式打开的二进制文件中读取指定数量的字节串,然后再使用struct模块的unpack函数反序列化得到原来对象息。如果需要的话,可以使用calcsize函数计算指定类型序列化时所需要的字节数量。标准库struct中常用的函数及功能下表所示。

表 标准库struct中的常用函数

函数

功能简介

calcsize(format, /)

计算并返回序列化 format格式的数据需要的字节数量,例如struct.calcsize('i')的值为4,表示序列化整数需要4个字节,也就是说整数的序列化有限制,不能序列化任意大的Python整数

pack(format, v1, v2, ...)

使用参数 format指定的格式对v1、v2等若干值进行序列化,返回序列化后的字节串

unpack(format, buffer, /)

使用参数 format指定的格式对参数buffer指定的字节串进行反序列化,返回包含若干值的元组

struct模块支持多种类型的数据序列化,表9-3中函数参数format可取的值如下表所示。这些格式可以组合使用,对多个数据同时序列化,例如struct.pack('ii', 345, 123)表示把两个整数345和123序列化为一个字节串,结果为b'Yx01x00x00{x00x00x00'。

另外,format可以使用第一个字符来指定序列化时使用的字节顺序、长度和对齐方式,不指定时默认值@会根据需要自动进行字节填充和对齐。例如,struct.pack('i?', 3, True)的值为b'x03x00x00x00x01',长度为5个字节,而struct.pack('?i', True, 3)的值为b'x01x00x00x00x03x00x00x00',长度为8个字节。可以设置format第一个字符为或=,这时不会自动进行字节填充和对齐,要注意的是pack函数的format参数和对应的unpack函数的format参数使用的字节顺序和对齐方式要一致。

表 struct支持的格式

格式字符

对应的 C语言类型

对应的 Python类型

使用的字节数量

c

char

长度为 1 的字节串

1

b

signed char

整数

1

B

unsigned char

整数

1

?

_Bool

布尔值 True/False

1

h

short

整数

2

H

unsigned short

整数

2

i

int

整数

4

I

unsigned int

整数

4

l

long

整数

4

L

unsigned long

整数

4

q

long long

整数

8

Q

unsigned long long

整数

8

n

ssize_t

整数

8

N

size_t

整数

8

f

float

浮点数

4

d

double

浮点数

8

s

char[]

字节串

1

p

char[]

字节串

1

P

void *

整数

8

例编写程序,对若干不同的值进行序列化并写入二进制文件,然后读取这个二进制文件中的数据进行还原。

解析:程序中的格式字符串'if?i56si64si64s'对应1个整数、1个实数、1个bool值、1个整数(表示后面紧邻的56个字节中有效字节的数量)、1个字节串(实际长度为56个字节,其中只有前面一部分是有效字节,后面是填充符)、1个整数(表示后面紧邻的64个字节中有效字节的数量)、1个字节串(实际长度为64个字节,其中只有前面一部分是有效字节,后面是填充符)、1个整数(表示后面紧邻的64个字节中有效字节的数量)、1个字节串(实际长度为64个字节,其中只有前面一部分是有效字节,后面是填充符)进行序列化。通过内置函数str可以把任意Python对象转换为字符串然后再使用encode方法转换为字节串最后使用struct进行序列化,在网络编程使用socket传输数据时经常用到struct序列化和反序列化。

   referrerpolicy=

   referrerpolicy=

教学大纲

责任编辑:

http://www.lbrq.cn/news/2530297.html

相关文章:

  • 建设一个网站需要哪些推广方案策划
  • 商城网站建设平台手机百度收录提交入口
  • 南阳做网站优化哪家好黄冈seo顾问
  • 产品网站用什么软件做清远新闻最新
  • 宁波北京网站建设百度推广是做什么的
  • 建网站都要什么费用上海百度公司总部
  • 湘潭做网站价格找磐石网络一流百度竞价推广登陆
  • 数据库2008做企业网站优化网站软文
  • 做网站赌博代理的犯法么模板免费下载网站
  • 网上做兼职网站公司网站怎么弄
  • 只做美食类目产品的网站关键词搜索热度
  • 只做汽车的网站社群推广平台
  • 沈阳网站建设公司千锋教育培训机构怎么样
  • 优酷网站怎么做的怎么让网站被百度收录
  • 做简单的网站首页一个自己的网站
  • 专业做家居的网站有哪些网络营销的六大功能
  • 做网站投诉要钱吗网络营销的成功案例分析
  • ps网站设计怎么做域名注册查询
  • 腾讯云服务器搭建网站产品网络推广的方法有哪些
  • 做网站的人怎么联系怎么注册自己的网址
  • 做装修网站推荐客户靠谱吗如何提升关键词的自然排名
  • 新沂做网站优化seo
  • 官方网站下载微博网络销售靠谱吗
  • 自己怎么在手机上设计装修广州网站seo推广
  • 电商网站制作项目描述百度seo工作室
  • 外包公司做网站seo效果检测步骤
  • 恩施网站设计百度新闻网
  • 广州哪家网站建设好青岛官网seo公司
  • 莱芜新闻网最新消息短视频seo是什么
  • 滨州网站建设公司搜索平台
  • 【BUUCTF系列】[HCTF 2018]WarmUp1
  • 三十四、【Linux常用工具】rsync+inotify实时同步演示
  • 国内好用的智能三防手机,适合户外、工业、公共安全等场景
  • ITIL 4 高速IT:解耦架构——构建快速迭代的技术基座
  • python基础:request请求Cookie保持登录状态
  • C# _列表(List<T>)_ 字典(Dictionary<TKey, TValue>)