美文网首页
[python] 把函数转换为字符串

[python] 把函数转换为字符串

作者: alue | 来源:发表于2022-05-04 21:42 被阅读0次

在使用消息中间件时,一个棘手的问题就是如何把python对象传递给中间件。

每个编程语言的对象在内存中的排列方式都是不同的,想让它们之间相互交流,就必须有个统一的格式。

将内存中的对象,转换成统一格式的过程就是序列化。

json是各组件之间交互信息的格式之一。

python中常规的变量都能够很方便的序列化为json. 但如果要序列化的是函数,事情就没那么简单了。

那么怎么将函数转化为json呢?

一般的 json.dumps() 无法转换函数,这时候我们需要用一个更强大的序列化工具——pickle

具体思路为

  1. 利用 pickle 将 函数 foo 序列化为字节对象。
  2. 利用 base64.b64encode 将字节对象转换为Base64 编码的字节码。
  3. 利用 .decode('ascii')将字节码转换为字符串。

综上,我们用

base64.b64encode(pickle.dumps(foo)).decode('ascii')

实现了将 函数foo转化为字符串,进而可以使用json来表示。

相关文章

  • JavaScript函数_06 eval | with

    eval 函数 作用:把字符串转换为js的代码new Function("字符串"); //把字符串转换为js...

  • 序列之列表

    独有特性 列表不同于元组和字符串的地方:可变 特殊函数 函数list可以把其他序列转换为列表 python 3.0...

  • TS:整数、字符串、数组之间的转换

    一、字符串转整数Number函数: +号操作符: 判断字符串能否转换为数组 注意:当字符串不能转换为数字,得到的结...

  • python字符串

    字符串 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字...

  • [python] 把函数转换为字符串

    在使用消息中间件时,一个棘手的问题就是如何把python对象传递给中间件。 每个编程语言的对象在内存中的排列方式都...

  • Json

    json.loads() :将字符串转换为Python数据类型json.dumps() :将Python数据类型转...

  • python中line.split()的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表。 一、函数说明: split():语法: 拆分...

  • Python 将字符串转换为函数名

    场景:需要将字符串转换为函数名方法一:使用python内置函数,使用 locals() 输出: 方法二:使用pyt...

  • 使用eval将字符串转换为对应的JS函数并调用

    动态获取到字符串格式的函数名,把它转换为对应的JS函数并调用。 动态获取到字符串格式的变量名,把它转换为对应的变量...

  • Java自学-数字与字符串 字符串转换

    Java中把数字转换为字符串,字符串转换为数字 步骤 1 : 数字转字符串 方法1: 使用String类的静态方法...

网友评论

      本文标题:[python] 把函数转换为字符串

      本文链接:https://www.haomeiwen.com/subject/ketiyrtx.html