python序列化字符串

时间:2009-09-11 23:49:42

标签: python serialization

我需要像在php中一样将字符串反序列化为python中的数组,然后将其序列化。

4 个答案:

答案 0 :(得分:1)

如果你的意思是PHP爆炸,试试这个

>>> list("foobar")
['f', 'o', 'o', 'b', 'a', 'r']

>>> ''.join(['f', 'o', 'o', 'b', 'a', 'r'])
'foobar'

答案 1 :(得分:0)

看看pickle module。这可能就是你要找的东西。

import pickle

# Unserialize the string to an array
my_array = pickle.loads(serialized_data)

# Serialized back
serialized_data = pickle.dumps(my_array)

答案 2 :(得分:0)

首先将有问题的数据“序列化”到字符串中?你真的是指array(如果是这样,是什么简单类型?),或者你实际上是指list(如果是这样,列表的项目应该是什么?)..等等...

根据OP的评论,看起来他有zintuple,并且正在尝试将其视为一个str,其中数据被序列化为pickle.loads酸洗。所以他试图通过pickle.loads反序列化元组,显然这不起作用 - str想要s(这就是zin意思),一个元组 - 它不能与元组一起工作,它甚至不知道如何处理元组。

当然,我们也没有,没有给出关于元组来自何处的指示,为什么它应该是字符串而是等等.OP应该编辑他的答案以显示更多代码(如何{ {1}}获得或获取的),特别是zin应该生成的代码(通过pickle.dumps,我想),以及生产者与此消费者之间的沟通方式是如何发生的(或者没有发生; - )。

答案 3 :(得分:0)

字符串在Python中已经是一个序列类型。您可以一次迭代字符串一个字符,如下所示:

for char in somestring:
    do_something(char)

问题是......你想用它做什么?也许我们可以通过更详细的问题提供更多细节。