我有一个obj列表
[<DiffMatchPatch.patch_obj instance at 0x152a0b00>, <DiffMatchPatch.patch_obj instance at 0x152a0ab8>]
我后来将它们转换为strs - 然后我得到了
["@@ -797,44 +797,8 @@\n : %0A\n- print 'WithDrwaing %25d' %25 shs%0A\n \n", "@@ -854,158 +854,4 @@\n e %0A%0A\n-'''%0Aif __name__ == '__main__': %0A b=Transcations(amount=9) %0A b.deposit() %0A b.withdraw(2000) %0A b.interest(30) %0A b.chk()%0A'''%0A%0A%0A\n"]
是否可以将strs转换回对象?
答案 0 :(得分:1)
你必须为此目的使用Pickle ......
from cPickle import dumps, loads
lst = [1,2,3]
pckld = dumps(lst)
print (pckld)
>> '(lp1\nI1\naI2\naI3\na.'
loads(pckld)
>> [1,2,3]
答案 1 :(得分:0)
虽然这不是你要求的,但也许“序列化”可以解决你的问题:
http://en.wikipedia.org/wiki/Serialization
http://docs.python.org/library/marshal.html
http://docs.python.org/library/pickle.html
此外,您可以考虑定义自己的__ str __函数和将从字符串中生成对象的构造函数(由__ str __创建)