擅长:python、mysql、java
<p>这是我的观点(python2.7)。你知道吗</p>
<pre><code>import StringIO
import ast
file = u"""{u'spec1': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property3': u'98754', u'property4': u'val1'}}
{u'spec2': {u'property1': u'12345', u'property2': 1234}, u'spec3': {u'property3': u'98754', u'property4': u'val1'}}
{u'spec4': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property5': u'98754', u'property4': u'val1'}}
{u'spec6': {u'property1': u'12345', u'property2': 1234}, u'spec2': {u'property7': u'98754', u'property4': u'val1'}}
"""
buffer = StringIO.StringIO(file)
lines = buffer.readlines()
dicts = []
for line in lines:
dicts.append(ast.literal_eval(line))
print dicts
</code></pre>
<p>不要看<code>StringIO</code>,它是用来模拟文件读取的。我的建议是逐行读取文件并逐行执行<code>literal_eval</code>。你知道吗</p>
<p>对我来说,这是唯一的方法,使它工作没有错误。你知道吗</p>