我需要像在php中一样将字符串反序列化为python中的数组,然后将其序列化。
答案 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的评论,看起来他有zin
,tuple
,并且正在尝试将其视为一个str
,其中数据被序列化为pickle.loads
酸洗。所以他试图通过pickle.loads
反序列化元组,显然这不起作用 - str
想要s
(这就是zin
意思),不一个元组 - 它不能与元组一起工作,它甚至不知道如何处理元组。
当然,我们也没有,没有给出关于元组来自何处的指示,为什么它应该是字符串而是等等.OP应该编辑他的答案以显示更多代码(如何{ {1}}获得或获取的),特别是zin
应该生成的代码(通过pickle.dumps
,我想),以及生产者与此消费者之间的沟通方式是如何发生的(或者没有发生; - )。
答案 3 :(得分:0)
字符串在Python中已经是一个序列类型。您可以一次迭代字符串一个字符,如下所示:
for char in somestring:
do_something(char)
问题是......你想用它做什么?也许我们可以通过更详细的问题提供更多细节。