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)python与php哪个好-python项目管理方法-第1张图片能够见到实例化的結果与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)python与php哪个好-python项目管理方法-第2张图片反序列化时,最好是加上编号主要参数,防止默认设置编号反序列化的不正确。

5.引言

富哥今日学会了用Python的phpserialize库配搭朋友。根据phpserialize库,Python语言表达能够具有分析PHP实例化数据信息的工作能力。

评论(0条)

刀客源码 游客评论