Python 中的 platform 模块

Python 中的 platform 模块

Python 中的 platform 模块提供了一些函数可用来获取运行程序的解释器、操作系统和硬件平台的信息。

关于此模块的官方说明:https://docs.python.org/3.8/library/platform.html#module-platform

一、解释器

有 4 个函数可以获取当前 Python 解释器的有关信息

  • python_version() – 返回 Python 的主版本号、次版本号和补丁版本号
  • python_version_tuple() – 以元组的形式返回 Python 的主版本号、次版本号和补丁版本号
  • python_compiler() – 返回解释器的编译器信息
  • python_build() – 解释器构建的版本串

举个粟子,在 vim 下新建 platform_python.py,敲入以下代码

import platform

print('Version      :', platform.python_version())
print('Version tuple:', platform.python_version_tuple())
print('Compiler     :', platform.python_compiler())
print('Build        :', platform.python_build())

然后乾坤大法一按,oh 了~

Version      : 3.7.3
Version tuple: ('3', '7', '3')
Compiler     : Clang 11.0.3 (clang-1103.0.32.62)
Build        : ('default', 'Aug  4 2020 19:30:55')

二、平台

platform 模块中有个 platform 函数返回一个通用的平台标识符,该标识符为一个字符串,这个函数接受两个可选的布尔参数。如果 aliased 为 True,则返回值中的名会从一个正式名转换为更常用的格式。如果 terse 为 True,则会返回一个最小值,即去除某些部分,而不是返回完整的串,同样在另一文件中敲入以下代码

import platform

print('Normal   :', platform.platform())
print('Aliased  :', platform.platform(aliased=True))
print('Terse    :', platform.platform(terse=True))

运行结果

Normal   : Darwin-19.6.0-x86_64-i386-64bit
Aliased  : Darwin-19.6.0-x86_64-i386-64bit
Terse    : Darwin-19.6.0

三、操作系统和硬件信息

platform 模块中的 uname 函数可获取解释器的操作系统和硬件的更多详细信息,它返回的是一个元组,其中包含系统、节点、发行号、版本、机器和处理器值。可通过下列几个函数来访问各自相应的值

  • system() – 操作系统名
  • node() – 服务器主机名,不是完全限定名
  • release() – 操作系统发行号
  • version() – 更详细的系统版本信息
  • machine() – 硬件类型标识符,如 ‘i386’
  • processor() – 处理器实际标识符 (有些情况下与 machine() 值相同)

不多说,上代码验证下,先搓搓手~

import platform

print('uname    :', platform.uname())

print()
print('system   :', platform.system())
print('node     :', platform.node())
print('release  :', platform.release())
print('version  :', platform.version())
print('machine  :', platform.machine())
print('processor:', platform.processor())

运行结果

uname    : uname_result(system='Darwin', node='zeronohacker.local', release='19.6.0', version='Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64', machine='x86_64', processor='i386')

system   : Darwin
node     : zeronohacker.local
release  : 19.6.0
version  : Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64
machine  : x86_64
processor: i386

四、可执行程序体系结构

platform 模块中的 architecture 函数可查看程序的体系结构信息,第一个参数是可执行程序路径 (默认为 sys.executable,即 Python 解释器)。返回值是一个元组,包含位体系结构和使用的链接格式

import platform

print('interpreter  :', platform.architecture())
print('/bin/ls      :', platform.architecture('/bin/ls'))

运行结果

interpreter  : ('64bit', '')
/bin/ls      : ('64bit', '')

五、结语

关于 platform 模块的主要用到的就是以上这几种,如果还需其它,可参阅官方文档。

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论