pygame.context
pygame module to provide additional context about the system
get a writeable folder for your app
get preferred locales set on the system

实验性的! 该接口可能会在以后的pyGame版本中更改或消失。如果您使用它,您的代码可能会与下一个pyGame发行版发生冲突。这是一个新模块,所以我们暂时将其标记为实验模块。我们可能不需要更改API,但我们保留了这种可能性,以防出现明显的情况。

New in pygame 2.1.3.

pygame.context.get_pref_path()
get a writeable folder for your app
get_pref_path(org, app) -> path

在分发应用程序时,有一种方法可以获得可写路径是很有帮助的,因为这是应用程序应该做的事情,而且有时应用程序周围的本地空间无法写入应用程序。

此函数为您的应用程序返回特定于平台的路径,以存储保存名称、设置等。此路径对于每个用户和每个应用程序名称都是唯一的。

它需要两根弦, orgapp 指的是“组织”和“应用名称”。例如,组织可以是“Valve”,应用程序名称可以是“Half Life 2”。然后,它会计算出首选路径, 如有必要,创建路径引用的文件夹 ,并返回包含绝对路径的字符串。

例如::

On Windows, it would resemble
C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\

On macOS, it would resemble
/Users/bob/Library/Application Support/My Program Name/

And on Linux it would resemble
/home/bob/.local/share/My Program Name/

New in pygame 2.1.3.

pygame.context.get_pref_locales()
get preferred locales set on the system
get_pref_locales() -> list[locale]

返回“区域设置”词典的列表,按主机操作系统上设置的首选项降序排序(最首选的区域设置是第一个元素)。如果PYGAME找不到此信息,也可能是空列表。

每个“区域设置”字典都包含可以通过键访问的语言代码 "language" 。该语言代码是ISO-639语言说明符(例如,“en”代表英语,“de”代表德语等)。“区域设置”词典也可以选择性地包含 "country" 字段,其值为ISO-3166国家/地区代码(例如,“US”代表美国,“CA”代表加拿大,等等)。如果此字段未设置或未确定,则为 None 。一个看起来像是“地区”的词典 {{'language': 'en', 'country': 'US'}} 表示用户更喜欢美国英语,而 {{'language': 'en', 'country': None}} 表示用户一般更喜欢英语。

这可能是一个有点昂贵的调用,因为它必须查询操作系统。因此,该函数不能在游戏循环中调用,而最好是请求一次并保存结果。但是,当用户在您的程序之外更改系统首选项时,此列表可能会更改。PYGAME将发送一个 LOCALECHANGED 事件,如果可能,您可以再次调用此函数以获取首选区域设置的更新副本。

备注

由于组织和应用程序名称可能会用作文件夹名称,因此强烈建议避免使用标点符号。相反,坚持使用字母、数字和空格。

备注

这个 appdirs 库具有与此用例类似的功能,但有更多的“文件夹类型”可供选择。

New in pygame 2.1.3.




Edit on GitHub