Python 是否可以将区域设置重置为可移植区域设置?

Python 是否可以将区域设置重置为可移植区域设置?,python,locale,python-2.4,Python,Locale,Python 2.4,根据Python文档: “未调用setlocale(LC_ALL,”)的程序使用可移植的“C”语言环境运行 使用setlocale(LC_ALL,”)设置语言环境后,是否可以将语言环境重置回“可移植”状态?我正在处理一个库,其中包含一些行为错误的组件,这些组件试图将语言环境全局重置为特定于区域的-我需要找到一种方法将语言环境还原回可移植状态 import locale loc = locale.getlocale(locale.LC_ALL) # get current locale asser

根据Python文档:

“未调用
setlocale(LC_ALL,”)
的程序使用可移植的“C”语言环境运行

使用
setlocale(LC_ALL,”)设置语言环境后,
是否可以将语言环境重置回“可移植”状态?我正在处理一个库,其中包含一些行为错误的组件,这些组件试图将语言环境全局重置为特定于区域的-我需要找到一种方法将语言环境还原回可移植状态

import locale
loc = locale.getlocale(locale.LC_ALL) # get current locale
assert loc == (None, None)
# Locale is unset, therefore in the "portable" state.
locale.setlocale(locale.LC_ALL, '') # use user's preferred locale
# Loc is not set to regional default
???? DO SOMETHING HERE
assert loc == locale.getlocale(locale.LC_ALL) # I want to make this true!
需要在Windows XP 32位上使用Python 2.4.4

locale.setlocale(locale.getdefaultlocale())
将其设置回标准语言环境


将其设置回标准语言环境

您可以尝试:
locale.setlocale(locale.LC\u ALL,loc)


您可以尝试:
locale.setlocale(locale.LC\u ALL,loc)

>>> locale.getlocale(locale.LC_ALL)
(None, None)
>>> locale.setlocale(locale.LC_ALL, "")                                        
'en_US.utf8'
>>> locale.getlocale(locale.LC_ALL)
('en_US', 'UTF8')
>>> locale.setlocale(locale.LC_ALL, "C")                                   
'C'
>>> locale.getlocale(locale.LC_ALL)
(None, None)
>>> locale.setlocale(locale.LC_ALL, (None,None))
'C'
>>> locale.getlocale(locale.LC_ALL)
(None, None)