【发布时间】:2012-06-22 17:05:51
【问题描述】:
我正在开发一个使用不同语言文本的应用程序,因此,出于查看或报告目的,一些文本(字符串)需要以特定语言排序。
目前我有一个解决方法会弄乱全局区域设置,这很糟糕,我不想将它投入生产:
default_locale = locale.getlocale(locale.LC_COLLATE)
def sort_strings(strings, locale_=None):
if locale_ is None:
return sorted(strings)
locale.setlocale(locale.LC_COLLATE, locale_)
sorted_strings = sorted(strings, cmp=locale.strcoll)
locale.setlocale(locale.LC_COLLATE, default_locale)
return sorted_strings
官方python语言环境文档明确表示保存和恢复是个坏主意,但没有给出任何建议:http://docs.python.org/library/locale.html#background-details-hints-tips-and-caveats
【问题讨论】:
标签: python locale ctypes glibc