16.14. platform
- 访问底层平台的识别数据¶
源代码: Lib / platform.py
注意
以字母顺序列出的特定平台,Linux包含在Unix部分。
16.14.1. Cross Platform¶
-
platform.
architecture
(executable=sys.executable, bits='', linkage='')¶ 查询给定的可执行文件(默认为Python解释器二进制)以获取各种体系结构信息。
返回包含有关用于可执行文件的位结构和链接格式的信息的元组
(位, 链接)
这两个值都作为字符串返回。无法确定的值按参数预设给定的返回。如果位为
''
,则Python版本中的sizeof(pointer)
(或sizeof(long)
该函数依赖于系统的
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)¶ 返回一个标识基础平台的单个字符串,尽可能使用尽可能多的有用信息。
输出旨在人类可读,而不是机器可分析。它可能在不同的平台看起来不同,这是打算。
如果别名为真,则函数将为报告与其通用名称不同的系统名称的各种平台使用别名,例如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
()¶ 以字符串
'major.minor.patchlevel'
返回Python版本。注意,与Python
sys.version
不同,返回的值总是包含patchlevel(默认为0)。
-
platform.
python_version_tuple
()¶ 返回字符串的tuple
(major, minor, patchlevel)
的Python版本。请注意,与Python
sys.version
不同,返回值将始终包含patchlevel(默认为'0'
)。
-
platform.
release
()¶ 返回系统的版本,例如
'2.2.0'
或'NT'
如果无法确定值,则返回空字符串。
-
platform.
system
()¶ 返回系统/操作系统名称,例如
'Linux'
,'Windows'
或'Java'
。如果无法确定该值,则返回空字符串。
-
platform.
system_alias
(system, release, version)¶ Returns
(system, release, version)
aliased to common marketing names used for some systems. 它在某些情况下也会对信息进行重新排序,否则会造成混乱。
-
platform.
version
()¶ 返回系统的发布版本,例如
'#3 on degas'
。如果无法确定该值,则返回空字符串。
-
platform.
uname
()¶ 相当便携的uname接口。Returns a
namedtuple()
containing six attributes:system
,node
,release
,version
,machine
, andprocessor
.请注意,这会增加
os.uname()
结果中不存在的第六个属性(processor
)。此外,属性名称对于前两个属性是不同的;os.uname()
将它们命名为sysname
和nodename
。无法确定的条目设置为
''
。在版本3.3中更改:结果从元组更改为namedtuple。
16.14.2. Java Platform¶
-
platform.
java_ver
(release='', vendor='', vminfo=('', '', ''), osinfo=('', '', ''))¶ Jython的版本接口。
Returns a tuple
(release, vendor, vminfo, osinfo)
with vminfo being a tuple(vm_name, vm_release, vm_vendor)
and osinfo being a tuple(os_name, os_version, os_arch)
. 无法确定的值设置为以参数形式给出的默认值(所有默认值均为''
)。
16.14.3. Windows Platform¶
-
platform.
win32_ver
(release='', version='', csd='', ptype='')¶ 从Windows注册表获取其他版本信息,并返回元组
(发布, 版本, csd, ptype) t4>
指OS版本,版本号,CSD级别(服务封装)和OS类型(多/单处理器)。As a hint: ptype is
'Uniprocessor Free'
on single processor NT machines and'Multiprocessor Free'
on multi processor machines. 'Free'是指没有调试代码的操作系统版本。它也可以表示'Checked',这意味着操作系统版本使用调试代码,即检查参数,范围等的代码。注意
这个函数最适合安装Mark Hammond的
win32all
软件包,但也适用于Python 2.3及更高版本(支持在Python 2.6中添加)。它显然只能在Win32兼容平台上运行。
16.14.3.1. Win95/98 specific¶
-
platform.
popen
(cmd, mode='r', bufsize=-1)¶ 便携式
popen()
接口。找到一个工作popen实现喜欢win32pipe.popen()
。在Windows NT上,win32pipe.popen()
应该工作;在Windows 9x它挂起由于MS C库中的错误。自版本3.3后已弃用:此函数已过时。使用
subprocess
模块。特别检查Replacing Older Functions with the subprocess Module部分。
16.14.4. Mac OS Platform¶
-
platform.
mac_ver
(release='', versioninfo=('', '', ''), machine='')¶ Get Mac OS version information and return it as tuple
(release, versioninfo, machine)
with versioninfo being a tuple(version, dev_stage, non_release_version)
.无法确定的条目设置为
''
。所有元组条目都是字符串。
16.14.5. Unix Platforms¶
-
platform.
dist
(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...))¶ 这是
linux_distribution()
的另一个名称。自版本3.5起已弃用,将在版本3.7中移除。
-
platform.
linux_distribution
(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...), full_distribution_name=1)¶ 尝试确定Linux操作系统分发名称的名称。
可以给出
supported_dists
以定义要查找的Linux发行版集合。它默认为由其发行文件名标识的当前支持的Linux发行版的列表。如果
full_distribution_name
为true(默认值),则返回从操作系统读取的完整分布。否则使用取自supported_dists
的短名称。返回元组
(distname,version,id)
,默认为作为参数给出的args。id
是版本号后面的括号中的项目。它通常是版本代号。自版本3.5起已弃用,将在版本3.7中移除。
-
platform.
libc_ver
(executable=sys.executable, lib='', version='', chunksize=2048)¶ 尝试确定libc版本,文件可执行文件(默认为Python解释器)与之链接。返回字符串
(lib, 版本)
的多个元组,如果查找失败,则默认使用给定的参数。请注意,此函数非常了解不同的libc版本如何向可执行文件添加符号可能只适用于使用gcc编译的可执行文件。
将以chunksize字节的块读取和扫描文件。