1.详细介绍
1.1引言
当傅戈用Python载入一个用PHP语言表达发展的新项目的数据库查询时,他发觉有一些字段名事实上储存了PHP的serialize函数实例化的数据信息。不太可能根据json库开启。我该怎么做?
原先Python有一个专业的库来仿真模拟PHP语言表达中实例化和非实例化的作用,便是phpserialize库。
2.安裝。
phpserialize库能够根据pip立即安裝。
pip3installphpserialize
3.应用
3.1实例化
应用phpserialize库将构造实例化为字符串数组应用dumps方式,该办法在使用方法上类似json库,仅仅编号主要参数并不是编号反而是字段名。
user={'id':35,'name':"福哥",'abilities':["PHP","Java","Python","JavaScript","C/C ","Asp.net"]}print("原始记录:")print(user)print("实例化数据信息:")userSN=phpserialize.dumps(user,charset="utf-8")print(userSN)
能够见到实例化的結果与PHP的实例化基本一致。由于福格设置的UTF-8,“福格”占有了6字符。
4.反序列化。
应用phpserialize库将实例化的字符串数组反序列化获得最初的算法设计,应用loads方式,与json库基本一致,编号主要参数是charset而不是encoding。
userSN=b"a:3:{s:2:"id";i:35;s:4:"name";s:6:"xe7xa6x8fxe5x93xa5";s:9:"abilities";a:6:{i:0;s:3:"PHP";i:1;s:4:"Java";i:2;s:6:"Python";i:3;s:10:"JavaScript";i:4;s:5:"C/C ";i:5;s:7:"Asp.net";}}"print("实例化数据信息:")print(userSN)print("原始记录:")user=phpserialize.loads(userSN,charset="utf-8")print(user)
反序列化时,最好是加上编号主要参数,防止默认设置编号反序列化的不正确。
5.引言
富哥今日学会了用Python的phpserialize库配搭朋友。根据phpserialize库,Python语言表达能够具有分析PHP实例化数据信息的工作能力。
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。