0

我的数据存储中有一个国家/地区的语言列表,存储如下:

[u"[u'fa-AF'", u" u'ps'", u" u'uz-AF'", u" u'tk']"]

我希望输出为:

fa-AF、ps、uz-AF、tk

或者

fa-AF - ps, uz-AF - tk

我已经尝试了几件事,但还没有成功。似乎已导入数据存储的数据未正确导入。对此的任何帮助将不胜感激。

另外,我想请您就如何使用这些代码显示语言名称提出建议。

例如,如果我们有“en-US”,那么我们希望将其显示为英语(美国)(注意:我们没有存储在数据存储中的语言名称。)

4

1 回答 1

4
a = [u"[u'fa-AF'", u" u'ps'", u" u'uz-AF'", u" u'tk']"]

看起来像是原始字符串的简单拆分。您可以重新构建字符串或剥离单个元素:

import ast
codes = [ast.literal_eval(x.strip('[] ')).encode() for x in a]

或者

codes = [elem.encode() for elem in ast.literal_eval(','.join(a))]

两者都返回:

['fa-AF', 'ps', 'uz-AF', 'tk']

语言的名称可以存储在字典中,例如:

lang = {'fa-AF': 'farsi-Afghanistan', ... }

并打电话给

for code in codes:
    print lang[code]

或者你可以看看Babel库。

于 2012-05-16T09:08:26.047 回答