平台—访问底层平台的标识数据

源代码: Lib/platform.py


Note

特定平台按字母 Sequences 列出,Unix 部分中包含 Linux。

Cross Platform

返回一个 Tuples(bits, linkage),Tuples(bits, linkage)包含有关位结构和用于可执行文件的链接格式的信息。这两个值都以字符串形式返回。

如参数预设所给定,将返回无法确定的值。如果给定的位是'',则sizeof(pointer)(或 Python 版本<1.5.2 上的sizeof(long))用作所支持指针大小的指示符。

该Function依赖于系统的file命令来执行实际工作。在大多数(如果不是全部)Unix 平台和某些非 Unix 平台上,仅在可执行文件指向 Python 解释器时,此选项才可用。当不满足上述需求时,将使用合理的默认值。

Note

在 Mac OS X(可能还有其他平台)上,可执行文件可能是包含多种体系结构的通用文件。

要获得当前解释器的“ 64 位”,查询sys.maxsize属性更为可靠:

is_64bits = sys.maxsize > 2**32

该输出旨在“易于阅读”,而不是机器可解析的。在不同的平台上看起来可能有所不同,这是有意的。

如果* aliased *为 true,则该函数将为各种平台使用别名,这些平台报告的系统名称与其通用名称不同,例如,SunOS 将报告为 Solaris。 system_alias()函数用于实现此目的。

将* terse *设置为 true 会使函数仅返回识别平台所需的绝对最小信息。

在版本 3.8 中进行了更改:在 macOS 上,该函数现在使用mac_ver(),如果它返回非空的发布字符串,则获取 macOS 版本而不是 darwin 版本。

如果无法确定该值,则返回一个空字符串。请注意,许多平台不提供此信息,或仅返回与machine()相同的值。 NetBSD 执行此操作。

请注意,与 Python sys.version不同,返回值将始终包含补丁程序级别(默认为 0)。

请注意,与 Python sys.version不同,返回值将始终包含补丁程序级别(默认为'0')。

请注意,这会添加第六个属性(processor),该属性在os.uname()结果中不存在。此外,前两个属性的属性名称不同; os.uname()分别命名为sysnamenodename

无法确定的条目设置为''

在版本 3.3 中更改:结果从 Tuples 更改为 namedtuple。

Java Platform

返回 Tuples(release, vendor, vminfo, osinfo),其中* vminfo 为 Tuples(vm_name, vm_release, vm_vendor) osinfo *为 Tuples(os_name, os_version, os_arch)。无法确定的值设置为作为参数给出的默认值(所有默认值均为'')。

Windows Platform

提示:* ptype *在单处理器 NT 计算机上为'Uniprocessor Free',在 multiprocessing 器计算机上为'Multiprocessor Free''Free'是指没有调试代码的 OS 版本。它还可以语句'Checked',这表示 os 版本使用调试代码,即用于检查参数,范围等的代码。

Note

此Function在安装 Mark Hammond 的win32all软件包时效果最佳,但在 Python 2.3 和更高版本上也是如此(在 Python 2.6 中添加了对此Function的支持)。它显然只能在 Win32 兼容平台上运行。

3.8 版的新Function。

3.8 版的新Function。

Mac OS 平台

无法确定的条目设置为''。所有 Tuples 条目都是字符串。

Unix Platforms

请注意,此函数非常了解不同的 libc 版本如何向可执行文件添加符号,这可能仅适用于使用 gcc 编译的可执行文件。

以* chunksize *个字节的块的形式读取和扫描文件。

首页