在Python中将ascii查找表存储在文件中

时间:2012-05-17 10:51:32

标签: python encoding escaping ascii

我目前在python中有一个硬编码的查找表,如下所示:

   lookup = {
       "\x85": u'...', # ...
       "\x91": u"'",
       ...
   }

我想将映射移动到外部文件以使其更易于管理,但是无法找到存储x转义字符代码并将其重新读入的方法。而不是'\ x85',我最终得到'\ x85'。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果您格式化文件:

{
       "\x85": u'...',
       "\x91": u"'"
}

然后您可以使用ast.literal_eval()将查找表添加到您的程序中:

In [10]: ast.literal_eval(open('lookup.txt').read())
Out[10]: {'\x85': u'...', '\x91': u"'"}

如果您想使用自定义格式,您只需存储密钥的十六进制ASCII代码(例如8591等),并在阅读时进行转换:

In [17]: chr(int('91', 16))
Out[17]: '\x91'