Python基础:获取平台相关信息

Windows 10家庭中文版,Python 3.6.4,

 

本文介绍了使用os、platform、sys三个模块获取Python程序的运行平台相关的信息。

 

os模块:提供 各种各样的操作系统接口

os.name -- 操作系统的名称,一个简称。已有三个被注册了:“posix”,“nt”,“java”,分别代表Unix类系统、Windows系统、Java虚拟机。

我的电脑上运行时,显示为“nt”。

os.cpu_count() -- 获取CPU核的数量。

我的电脑返回8。

 

上面两个只是获取平台相关信息的属性,此模块还有更多属性和方式用作其它功能,其官方文档相当长。

 

platform模块:访问平台底层的特征数据

paftform.machine() -- 平台架构——主要指处理器

platform.node() -- 电脑的网络名词

platform.processor() -- 处理器信息

platform.release() -- 操作系统发行信息

platform.system() -- 操作系统名称

platform.version() -- 操作系统版本

platform.uname() -- 返回平台的所有信息,包括上面介绍的,6个属性:system, node, release, version, machine, processor

 

platform.python_***() -- 返回Python解释器等相关信息,比如版本python_version(), 更有用的是python_version_tuple(),它返回一个元组,便于某些软件安装时判断Python版本以决定是否安装;

 

platform模块还包含一些各个平台独特的属性,请参考其官网文档

 

sys模块:提供了 系统专用 的参数和函数——一些Python解释器使用和维护的变量,以及和解释器交互频繁的函数。

sys.platform -- 获取计算机平台信息(操作系统),可能的值包括sunos*, freebsd*, linux*, win32, cygwin —— Windows/Cygwin, darwin —— Mac OS X。

sys.version -- 获取Python解释器版本信息(文本)

sys.version_info -- Python解释器版本信息(返回一个sys.version_info的实例,包含Python版本信息)

 

Windows下还有sys.getwindowsversion()获取版本信息,我的结果:

sys.getwindowsversion(major=10, minor=0, build=15063, platform=2, service_pack='')

 

sys.implementation -- 获取Python解释器的实现版本信息,我的是官网的CPython,显示结果如下:

namespace(cache_tag='cpython-36', hexversion=50726128, name='cpython', version=sys.version_info(major=3, minor=6, micro=4, releaselevel='final', serial=0))

 

综上所述,要获取Python运行环境的信息,最完整的来源是platform模块,虽然模块较小,但却是专业的,难怪Django等框架会使用platform.python_version_tuple()来获取Python解释器版本并决定是否安装。

posted @ 2018-06-11 10:55  快乐的欧阳天美1114  阅读(566)  评论(0编辑  收藏  举报