如何将“stringified”python对象从文件解析回python对象?

时间:2011-06-26 20:11:59

标签: python parsing unicode encoding

我正在尝试解析包含python对象的字符串表示的文件。如在

outfile = open("out.txt", "w")
example_string_tuple = (u'bretagne tr\xe9minou 23archiefdingen', u'chicago, il')

# Instead of doing something like this:
outfile.write("\t".join(example_string_tuple).encode("utf-8"))

# I just did this:
outfile.write(str(example_string_tuple))

所以现在在我的文本文件中,我的行看起来像这样

(u'bretagne tr \ x99minou 23archiefdingen',u'chicago,il')

请注意,unicode不在utf-8中,它是python的本机编码。

如何正确地将这些行解析回原始元组(不会弄乱编码)? (我正在使用python 2.7)

1 个答案:

答案 0 :(得分:2)

>>> ast.literal_eval("""(u'bretagne tr\xe9minou 23archiefdingen', u'chicago, il')""")
(u'bretagne tr\xe9minou 23archiefdingen', u'chicago, il')

但下次使用JSON