platform– 访问底层平台的识别数据

源代码: Lib / platform.py


注意

按字母顺序列出的特定平台,其中包含LinuxUnixsection.

Cross Platform

platform.architectureexecutable=sys.executable, bits=””, linkage=””
查询给定的可执行文件(默认为Python解释器二进制文件)以获取各种架构信息.

返回一个元组(bits, linkage),其中包含有关bitarchitecture和用于可执行文件的链接格式的信息。两个值都作为字符串返回.

不能确定的值返回参数presets给出的值。如果位为"",则sizeof(pointer)(或sizeof(long)在Python版本< 1.5.2上)用作支持指针大小的指示符.

该函数依赖于系统的file命令来完成实际的工作。这在大多数(如果不是全部)Unix平台和一些非Unix平台上都可用,并且只有当可执行文件指向Python解释器时才可用。如果不满足上述需求,则使用合理的默认设置.

注意

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

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

is_64bits = sys.maxsize > 2**32
platform.machine
返回机器类型,例如"i386"。如果无法确定该值,则返回空字符串.
platform.node()
返回计算机的网络名称(可能不完全限定!)。如果无法确定该值,则返回一个空字符串.
platform.platform (aliased=0, terse=0
返回一个字符串,用尽可能多的有用信息识别底层平台.

输出的目的是human readable而不是机器可解析。它可能在不同的平台上看起来不同,这是有意的.

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

设置terse为true导致函数只返回识别平台所需的绝对最小信息.

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不同,返回的值总是包含补丁级别(默认为"0").

platform.release()
返回系统的版本,例如"2.2.0""NT"如果无法确定值,则返回空字符串.
platform.system ()
返回系统/操作系统名称,例如"Linux", "Windows", 要么 "Java"。如果无法确定该值,则返回空字符串.
platform.system_alias (system, release, version)
返回(system, release, version)别名用于某些系统的常用营销名称。它还会在某些情况下对信息进行一些重新排序,否则会引起混淆.
platform.version ( )
返回系统的发行版本,例如"#3 on degas"。如果无法确定该值,则返回一个空字符串.
platform.uname ()
便携式uname接口。返回namedtuple()包含六个属性:system, node, release,version, machineprocessor.

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

无法确定的条目设置为"".

在版本3.3中更改:结果从元组更改为namedtuple.

Java平台

platform.java_verrelease=””, vendor=””, vminfo=(“”, “”, “”), osinfo=(“”, “”, “”)
Jython的版本界面

回复一个元组(release, vendor, vminfo, osinfo)vminfo成为(vm_name, vm_release, vm_vendor)osinfo成为一个元组(os_name, os_version, os_arch)。无法确定的值设置为默认值作为参数(默认为"")。

Windows平台

platform.win32_verrelease=””, version=””, csd=””, ptype=””
Windows注册表获取其他版本信息并返回元组(release, version, csd, ptype)参考操作系统版本,版本号,CSD级别(服务包)和操作系统类型(多/单处理器).

作为提示:ptype在单处理器NT机器上是"Uniprocessor Free",在多处理器机器上是"Multiprocessor Free"‘Free’指的是OS版本没有调试代码。它还可以说‘Checked’这意味着操作系统版本使用调试代码,即检查参数,范围等的代码.

注意

这个功能最适合Mark Hammond的win32all软件包安装,但也在Python 2.3 andlater上(在Python 2.6中添加了对此的支持)。它显然只能在Win32兼容平台上运行.

Win95 / 98具体

platform.popencmd, mode=”r”, bufsize=-1
便携式popen()接口。找一个工作的popen实现首选win32pipe.popen()。在Windows NT上,win32pipe.popen()应该可以工作;在Windows 9x上由于MS C库中的错误而挂起.

自版本3.3以后删除了此功能已过时。使用 subprocess模块。特别检查用子进程模块部分。

Mac OS平台

platform.mac_verrelease=””, versioninfo=(“”, “”, “”), machine=””
获取Mac OS版本信息并将其作为元组(release, versioninfo,machine)versioninfo是一个元组(version, dev_stage,non_release_version).

无法确定的条目设置为""。所有元组条目都是字符串.

Unix平台

platform.distdistname=””, version=””, id=””, supported_dists=(“SuSE”, “debian”, “redhat”, “mandrake”, …)
这是linux_distribution().

的另一个名称从版本3.5开始不推荐使用,将在版本3.8中删除:请参阅类似于发行版包的替代方案。

platform.linux_distributiondistname=””, version=””, id=””, supported_dists=(“SuSE”, “debian”, “redhat”, “mandrake”, …), full_distribution_name=1
试图确定Linux OS发行名称的名称.

supported_dists可以给出定义要查找的Linux发行版集。默认为由发布文件名识别的当前支持的Linux发行版列表.

如果full_distribution_name如果为true(默认值),则返回从OS读取的完整分发。否则使用从supported_dists取的短名称

返回一个元组(distname,version,id)默认为asparameters给出的args。id是版本号后括号中的项目。它通常是版本代号.

自版本3.5以后删除,将在版本3.8中删除:请参阅类似发行包的替代方案.

platform.libc_ver (executable=sys.executable, lib=””, version=””, chunksize=16384
试图确定与文件可执行文件(默认为Python解释器)链接的libc版本。返回一个字符串(lib,version)的元组,默认为查找失败时的给定参数.

注意这个函数非常了解libc versionsadd符号与可执行文件的不同之处可能只适用于使用 gcc .

编译的可执行文件以chunksize bytes.

评论被关闭。