def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE'))

 返回一个二元组。

>>> locale.getdefaultlocale()
('zh_CN', 'cp936')

在linux下,其本质是使用os.environ这个字符串环境的映射对象来获取LANG这个变量。

>>> os.environ.get('LANG')
'en_US.UTF-8'

 在window下,其实是调用_locale._getdefaultlocale()这个函数来返回二元组的。

注意:

python3中字符串默认编码utf-8,所以没有setdefaultencoding()函数了。

 

拓展:

什么是POSIX?

POSIX是一个标准,他定义了系统应该为应用程序所提供接口的标准。

也就是说,应用程序所使用的接口就是按照POSIX标准制定的。

之所以制定这套标准就是为了应用程序的可移植性。

它相当于把底层接口进行了封装,应用程序只要使用封装后的接口即可。

python学习之getdefaultlocale()函数

如图,对于同一个功能,unix和window系统底层接口不一样,但是他们都被封装成了一个基于POSIX标准的接口中。

对于应用程序来说,这个接口在2个平台都是一样的。

这样一来,应用程序在任何平台都能使用。

 

相关文章:

  • 2022-02-16
  • 2021-11-14
  • 2021-12-04
  • 2021-12-16
  • 2021-05-23
  • 2021-07-20
  • 2022-03-05
  • 2021-12-12
猜你喜欢
  • 2021-06-07
  • 2022-02-14
  • 2022-12-23
  • 2021-12-21
  • 2021-10-10
  • 2021-08-06
  • 2021-06-08
相关资源
相似解决方案