On this page
15.15. 平台-访问底层平台的标识数据
2.3 版的新Function。
源代码: Lib/platform.py
Note
特定平台按字母 Sequences 列出,Unix 部分中包含 Linux。
15.15.1. 跨平台
platform.
architecture
(* executable = sys.executable , bits =“'', linkage =”''*)- 查询给定的可执行文件(默认为 Python 解释器二进制文件)以获取各种体系结构信息。
返回一个 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
platform.
machine
( )- 返回机器类型,例如
'i386'
。如果无法确定该值,则返回一个空字符串。
- 返回机器类型,例如
platform.
node
( )- 返回计算机的网络名称(可能不完全合格!)。如果无法确定该值,则返回一个空字符串。
platform.
platform
(* aliased = 0 , terse = 0 *)- 返回一个标识基本平台的字符串,其中包含尽可能多的有用信息。
该输出旨在“易于阅读”,而不是机器可解析的。在不同的平台上看起来可能有所不同,这是有意的。
如果* aliased *为 true,则该函数将为各种平台使用别名,这些平台报告的系统名称与其通用名称不同,例如,SunOS 将报告为 Solaris。 system_alias()函数用于实现此目的。
将* terse *设置为 true 会使函数仅返回识别平台所需的绝对最小信息。
platform.
processor
( )- 返回(真实)处理器名称,例如
'amdk6'
。
- 返回(真实)处理器名称,例如
如果无法确定该值,则返回一个空字符串。请注意,许多平台不提供此信息,或仅返回与machine()相同的值。 NetBSD 执行此操作。
platform.
python_build
( )- 返回一个 Tuples
(buildno, builddate)
,以字符串形式说明 Python 内部版本号和日期。
- 返回一个 Tuples
platform.
python_compiler
( )- 返回一个字符串,该字符串标识用于编译 Python 的编译器。
platform.
python_branch
( )- 返回标识 Python 实现 SCM 分支的字符串。
2.6 版的新Function。
platform.
python_implementation
( )- 返回标识 Python 实现的字符串。可能的返回值是:“ CPython”,“ IronPython”,“ Jython”,“ PyPy”。
2.6 版的新Function。
platform.
python_revision
( )- 返回标识 Python 实现 SCM 修订版的字符串。
2.6 版的新Function。
platform.
python_version
( )- 返回 Python 版本为字符串
'major.minor.patchlevel'
。
- 返回 Python 版本为字符串
请注意,与 Python sys.version
不同,返回值将始终包含补丁程序级别(默认为 0)。
platform.
python_version_tuple
( )- 以字符串 Tuples
(major, minor, patchlevel)
的形式返回 Python 版本。
- 以字符串 Tuples
请注意,与 Python sys.version
不同,返回值将始终包含补丁程序级别(默认为'0'
)。
platform.
release
( )- 返回系统的版本,例如
'2.2.0'
或'NT'
如果无法确定该值,则返回一个空字符串。
- 返回系统的版本,例如
platform.
system
( )- 返回系统/os 名称,例如
'Linux'
,'Windows'
或'Java'
。如果无法确定该值,则返回一个空字符串。
- 返回系统/os 名称,例如
platform.
system_alias
(* system , release , version *)- 返回
(system, release, version)
作为某些系统使用的通用营销名称的别名。在某些情况下,它还会对信息进行一些重新排序,否则会引起混乱。
- 返回
platform.
version
( )- 返回系统的发行版本,例如
'#3 on degas'
。如果无法确定该值,则返回一个空字符串。
- 返回系统的发行版本,例如
platform.
uname
( )- 相当便携的 uname 接口。返回标识底层平台的字符串
(system, node, release, version, machine, processor)
的 Tuples。
- 相当便携的 uname 接口。返回标识底层平台的字符串
请注意,与os.uname()函数不同,它还返回可能的处理器信息作为其他 Tuples 条目。
无法确定的条目设置为''
。
15.15.2. Java 平台
platform.
java_ver
(* release ='', vendor ='', vminfo =('','',''), osinfo =('','', '')*)- Jython 的版本接口。
返回 Tuples(release, vendor, vminfo, osinfo)
,其中* vminfo 为 Tuples(vm_name, vm_release, vm_vendor)
和 osinfo *为 Tuples(os_name, os_version, os_arch)
。无法确定的值设置为作为参数给出的默认值(所有默认值均为''
)。
15.15.3. Windows 平台
platform.
win32_ver
(* release ='', version ='', csd ='', ptype =''*)- 从 Windows 注册表中获取其他版本信息,并返回一个 Tuples
(release, version, csd, ptype)
,这些 Tuples 涉及 os 发行版,版本号,CSD 级别(服务包)和 os 类型(多/单处理器)。
- 从 Windows 注册表中获取其他版本信息,并返回一个 Tuples
提示:* ptype *在单处理器 NT 计算机上为'Uniprocessor Free'
,在 multiprocessing 器计算机上为'Multiprocessor Free'
。 'Free'是指没有调试代码的 OS 版本。它还可以语句'Checked',这表示 os 版本使用调试代码,即用于检查参数,范围等的代码。
Note
此Function在安装 Mark Hammond 的win32all
软件包时效果最佳,但在 Python 2.3 和更高版本上也是如此(在 Python 2.6 中添加了对此Function的支持)。它显然只能在 Win32 兼容平台上运行。
15.15.3.1. Win95/98 特定
platform.
popen
(* cmd , mode ='r', bufsize = None *)- 便携式popen()界面。找到一个优先使用
win32pipe.popen()
的有效 popen 实现。在 Windows NT 上,win32pipe.popen()
应该起作用;在 Windows 9x 上,由于 MS C 库中的错误而挂起。
- 便携式popen()界面。找到一个优先使用
15.15.4. Mac OS 平台
platform.
mac_ver
(* release ='', versioninfo =('','',''), machine =''*)- 获取 Mac OS 版本信息,并以 Tuples
(release, versioninfo, machine)
的形式返回,其中* versioninfo *是 Tuples(version, dev_stage, non_release_version)
。
- 获取 Mac OS 版本信息,并以 Tuples
无法确定的条目设置为''
。所有 Tuples 条目都是字符串。
15.15.5. Unix 平台
platform.
dist
(* distname ='', version ='', id ='', supported_dists =('SuSE','debian','redhat','mandrake'* ,* ...)*)- 这是linux_distribution()现在提供的Function的旧版本。对于新代码,请使用linux_distribution()。
两者之间的唯一区别是dist()
始终返回从supported_dists
参数获取的分布的简称。
从 2.6 版开始不推荐使用。
platform.
linux_distribution
(* distname ='', version ='', id ='', supported_dists =('SuSE','debian','redhat','mandrake'* ,* ...), full_distribution_name = 1 *)- try确定 Linux OS 发行版名称的名称。
可以提供supported_dists
来定义要查找的 Linux 发行版集。它默认为由其发行文件名标识的当前受支持的 Linux 发行列表。
如果full_distribution_name
为 true(默认值),则返回从 OS 读取的完整发行版。否则,将使用取自supported_dists
的简称。
返回一个 Tuples(distname,version,id)
,默认为参数给定的 args。 id
是版本号后面括号中的项目。通常是版本代号。
Note
从 Python 3.5 开始不推荐使用此Function,并在 python 3.8 中将其删除。查看替代方法,例如distro软件包。
2.6 版的新Function。
platform.
libc_ver
(* executable = sys.executable , lib ='', version ='', chunksize = 2048 *)- try确定链接文件可执行文件(默认为 Python 解释器)的 libc 版本。返回字符串
(lib, version)
的 Tuples,如果查找失败,则默认为给定参数。
- try确定链接文件可执行文件(默认为 Python 解释器)的 libc 版本。返回字符串
请注意,此函数非常了解不同的 libc 版本如何向可执行文件添加符号,这可能仅适用于使用 gcc 编译的可执行文件。
以* chunksize *个字节的块的形式读取和扫描文件。