我要加载这样的文本:https://sites.google.com/site/iminside1/paste
我希望从中创建一个python字典,但是任何对象都可以。我尝试了pickle
、json
和{
谢谢!
结果:
a = open("the_file", "r").read()
json.loads(a)
ValueError: Expecting property name: line 1 column 1 (char 1)
pickle.loads(a)
KeyError: '{'
eval(a)
File "<string>", line 19
from: {code: 'DME', airport: "Домодедово", city: 'Москва', country: 'Россия', terminal: ''},
^
SyntaxError: invalid syntax
几乎直接从pyparsing示例页中提取:
印刷品:
^{pr2}$编辑:修复了分组和扩展的输出转储,以显示如何通过索引(在列表中)或作为属性(在dict中)访问结果的各个关键字段。在
如果你真的要让公牛队上膛。。。这个数据(见我的评论),你最好用正则表达式加上缺少的引号。像
r"([a-zA-Z_][a-zA-Z_0-9]*)\s*\:"
来找到引用和。在r"\'\1\'\:"
作为替换的东西(我必须从头开始测试)编辑:在python3.1中对向后引用进行了一些麻烦之后,我终于让它使用这些:
到目前为止,在delnan的帮助下,我可以用eval将其加载到dict中:
仍在寻找更高效、更简单的解决方案。。出于某些原因,我不喜欢用eval。在
相关问题 更多 >
编程相关推荐