python与php哪个好(python项目管理方法)

python与php哪个好(python项目管理方法)

1. 介绍

1.1 介绍

福哥在用Python去读PHP语言开发的项目的数据库的时候,发现一些字段里存储的居然是经过PHP的serialize函数序列化过的数据,这个要解开它通过json库是不行的了,怎么办呢?

原来Python专门有个库用来模拟PHP语言的serialize和unserialize的功能,它就是phpserialize库。

2. 安装

phpserialize库可以直接通过pip进行安装。

pip3 install phpserialize 3. 使用

素材湾

3.1 序列化

使用phpserialize库序列化一个结构转化为一个字符串用到的是dumps方法,用法和json库类似,区别是编码参数不是encoding是charset。

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的serialize基本一致。因为福哥设置的编码的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的序列化数据的能力。


素材湾 - 分享精品教程和短视频等各种资源素材

你可能感兴趣的资源:

  • 10款5K高清半色调颗粒纹理图片叠加效果JPG背景图片设计素材 Halftone Textures and Overlays
  • 10款嘻哈说唱风吊坠3D金属钻石水晶字母项链服装标题特效字ps样机模板 Bling Bling Text Effects Vol.2
  • PR预设:超酷动力学现代简约动画错版快闪重复文字排版预设 V1 Hyper Kinetic Text Animator
  • 730个复古80年代电影胶片人像风光摄影后期4合1套装LR预设+视频LUT Kedazglobal – Master Collections Pres
  • 复古赛博朋克风格CRT信号故障模拟像素化LOGO图片处理PS特效滤镜插件样机CRT Monitor Text & Logo Eff
  • 立体阴影矢量文字效果字体样式 Back To School – Editable Text Effect, Font Style
  • 自然环境天气云山脉森林海洋沙漠场景Blender建模渲染全面教程 中文字幕 CG Boost Academy – Master 3D Env
  • 20款复古做旧划痕颗粒裂纹斑点艺术绘画效果Affinity画笔笔刷素材Grunge Stamp Affinity Brushes
  • 海洋旅行蓝色PPT素材 PlayEarth Travel And Trip – PowerPoint
  • 怀旧超现实主义模糊城市红绿灯背景抽象柔和图片设计素材 Blurred City Backgrounds
  • 13400种终极大气声音特效音乐制作人捆绑包 Ultimate Producer Bundle 2022
  • 120款的创意CMYK打印印刷出血裁剪标注标记符号PNG免抠图设计素材 Print Marks | 120+ Vector Assets
  • 200款经典现代企业logo徽标标签几何抽象AI矢量图形图标设计套装Classic Icons Pack
  • 10个时尚漩涡波浪线PS笔刷
  • 盛开的春季水彩花束手绘插画 Blooming Spring Watercolor Bouquets

  • 原文链接:https://www.wkfco.com/zatan/6409.html,转载请注明出处。

    0

    评论0

    请先