我的数据存储中有一个语言列表,用于存储的国家/地区:
[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”,那么我们想将其显示为英语(美国) (注意:我们没有在数据存储区中存储语言名称。)
答案 0 :(得分: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库。