微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将二进制字符串的文字字符串表示形式转换为二进制字符串?

如何解决如何将二进制字符串的文字字符串表示形式转换为二进制字符串?

我正在尝试将函数保存到一个带有其他描述字段的 csv 文件中。我目前正在使用 dill dumps 保存一个函数,然后将其转换为文字字符串并存储在文件中。当我加载 csv 文件时,我在将此文字字符串转换函数时遇到问题。有没有办法将二进制字符串的字符串表示形式转换为二进制字符串?目前我使用 exec 来这样做,但我认为这不是一个好习惯。

或者有其他更好的方法函数或二进制字符串存储到 csv 文件中吗?

import dill
def add_one(a):
    return a + 1

output_to_csv_file = str(dill.dumps(add_one)) # output_to_csv_file is the string representation of binary string of add_one
exec("tmp = " + output_to_csv_file) # Now I have tmp storing the binary string
loaded_add_one = dill.loads(tmp)
print(loaded_add_one(2))

解决方法

我建议将其保存为十六进制字符串(以下实现假设 python 3.5+)

import dill

tmp = dill.dumps(lambda a: a + 1).hex()
loaded = dill.loads(bytes.fromhex(tmp))
print(loaded(2))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。