platform ——访问底层平台的识别数据¶
源代码: Lib/platform.py
注解
特定平台按字母顺序列出,Linux包含在Unix部分中。
跨平台¶
- platform.architecture(executable=sys.executable, bits='', linkage='')¶
查询给定的可执行文件(默认为python解释器二进制文件)以获取各种体系结构信息。
返回元组
(bits, linkage)其中包含有关位体系结构和用于可执行文件的链接格式的信息。两个值都作为字符串返回。无法确定的值将按参数预设返回。如果位的给定为
'', thesizeof(pointer)(或)sizeof(long)在python版本<1.5.2)上,用作受支持指针大小的指示器。功能依赖于系统的
file命令来做实际的工作。这在大多数(如果不是所有的)UNIX平台和一些非UNIX平台上都可用,然后只有当可执行文件指向Python解释器时才可用。如果不满足上述需求,则使用合理的默认值。注解
在MacOSX(或者其他平台)上,可执行文件可能是包含多个体系结构的通用文件。
为了得到当前解释器的“64位”,查询
sys.maxsize属性:is_64bits = sys.maxsize > 2**32
- platform.machine()¶
返回机器类型,例如
'i386'. 如果无法确定值,则返回空字符串。
- platform.node()¶
返回计算机的网络名称(可能不是完全限定的!)。如果无法确定值,则返回空字符串。
- platform.platform(aliased=0, terse=0)¶
返回一个字符串,用尽可能多的有用信息标识基础平台。
输出的目的是 人类可读的 而不是机器可解析的。它在不同的平台上看起来可能不同,这是有意的。
如果 混叠的 如果为真,该函数将对报告不同于其公用名称的系统名称的各种平台使用别名,例如,SUNOS将报告为Solaris。这个
system_alias()函数用于实现这一点。设置 简洁的 若为true,则函数只返回标识平台所需的绝对最小信息。
在 3.8 版更改: 在MacOS上,函数现在使用
mac_ver()如果返回非空的发布字符串,则获取MacOS版本,而不是达尔文版本。
- platform.processor()¶
返回(实际)处理器名称,例如
'amdk6'.如果无法确定值,则返回空字符串。请注意,许多平台不提供此信息,或者只是返回与
machine().NetBSD会这样做。
- platform.python_build()¶
返回元组
(buildno, builddate)将python内部版本号和日期声明为字符串。
- platform.python_compiler()¶
返回一个标识用于编译Python的编译器的字符串。
- platform.python_branch()¶
返回标识Python实现SCM分支的字符串。
- platform.python_implementation()¶
返回标识Python实现的字符串。可能的返回值为:“cpython”、“ironpython”、“jython”、“pypy”。
- platform.python_revision()¶
返回标识Python实现SCM修订版的字符串。
- platform.python_version()¶
以字符串形式返回python版本
'major.minor.patchlevel'.注意,与Python不同
sys.version,返回的值将始终包含patchLevel(默认为0)。
- platform.python_version_tuple()¶
以元组形式返回python版本
(major, minor, patchlevel)弦乐的注意,与Python不同
sys.version,返回的值将始终包括patchLevel(默认为'0')
- platform.release()¶
返回系统的版本,例如
'2.2.0'或'NT'如果无法确定值,则返回空字符串。
- platform.system()¶
返回系统/OS名称,例如
'Linux','Darwin','Java','Windows'. 如果无法确定值,则返回空字符串。
- platform.system_alias(system, release, version)¶
返回
(system, release, version)别名为某些系统使用的常用营销名称。在某些情况下,它还会对信息进行一些重新排序,否则会导致混淆。
- platform.version()¶
返回系统的发布版本,例如
'#3 on degas'. 如果无法确定值,则返回空字符串。
- platform.uname()¶
相当可移植的uname接口。返回A
namedtuple()包含六个属性:system,node,release,version,machine和processor.注意,这会添加第六个属性 (
processor)不存在于os.uname()结果。另外,前两个属性的属性名不同;os.uname()给他们起名sysname和nodename.无法确定的条目设置为
''.在 3.3 版更改: 结果从元组更改为NamedDuple。
Java平台¶
- platform.java_ver(release='', vendor='', vminfo=('', '', ''), osinfo=('', '', ''))¶
Jython的版本接口。
返回元组
(release, vendor, vminfo, osinfo)具有 虚拟机信息 作为元组(vm_name, vm_release, vm_vendor)和 奥西nfo 作为元组(os_name, os_version, os_arch). 无法确定的值将设置为作为参数给定的默认值(所有默认值均为'')
Windows平台¶
- platform.win32_ver(release='', version='', csd='', ptype='')¶
从Windows注册表获取其他版本信息并返回元组
(release, version, csd, ptype)参考操作系统版本、版本号、CSD级别(Service Pack)和操作系统类型(多/单处理器)。作为提示: P型 是
'Uniprocessor Free'在单处理器NT机器和'Multiprocessor Free'在多处理器机器上。这个 “自由” 指没有调试代码的操作系统版本。它也可以说 “核对” 这意味着操作系统版本使用调试代码,即检查参数、范围等的代码。
- platform.win32_edition()¶
返回表示当前Windows版本的字符串。可能的值包括但不限于
'Enterprise','IoTUAP','ServerStandard'和'nanoserver'.3.8 新版功能.
- platform.win32_is_iot()¶
返回
True如果Windows版本由返回win32_edition()被认为是物联网版。3.8 新版功能.
MAC操作系统平台¶
- platform.mac_ver(release='', versioninfo=('', '', ''), machine='')¶
获取Mac OS版本信息并将其作为元组返回
(release, versioninfo, machine)具有 版本信息 作为元组(version, dev_stage, non_release_version).无法确定的条目设置为
''. 所有元组项都是字符串。
UNIX平台¶
- platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=16384)¶
尝试确定文件可执行文件(默认为python解释器)所链接的libc版本。返回字符串的元组
(lib, version)如果查找失败,则默认为给定参数。请注意,此函数非常了解不同的libc版本如何向可执行文件添加符号,可能只能用于使用 gcc .
文件被读取和扫描成块 chunksize 字节。
Linux平台¶
- platform.freedesktop_os_release()¶
从获取操作系统标识
os-release归档并将其作为字典退回。这个os-release文件是一个 freedesktop.org standard 并且在大多数Linux发行版中都可用。一个明显的例外是Android和基于Android的发行版。加薪
OSError或子类,当两者都不存在时/etc/os-release也不是/usr/lib/os-release可以读取。如果成功,该函数将返回一个键和值为字符串的字典。值有其特殊字符,如
"和$未引用。田野NAME,ID,以及PRETTY_NAME都是按照标准来定义的。所有其他字段都是可选字段。供应商可能会包括其他字段。请注意,像这样的字段
NAME,VERSION,以及VARIANT是适合呈现给用户的字符串。程序应该使用如下字段ID,ID_LIKE,VERSION_ID,或VARIANT_ID来识别Linux发行版。示例::
def get_like_distro(): info = platform.freedesktop_os_release() ids = [info["ID"]] if "ID_LIKE" in info: # ids are space separated and ordered by precedence ids.extend(info["ID_LIKE"].split()) return ids
3.10 新版功能.