• 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解释器版本并决定是否安装。

  • 相关阅读:
    简化窗口的控制和异常处理的复杂性
    集合运算 字典排序 按值 按键
    单条insert
    Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=
    反黑
    curl HTTP_USER_AGENT
    location.replace
    提升600百万数据的处理速度 禁止图片下载
    https://security.stackexchange.com/questions/68405/what-is-tmunblock-cgi-and-can-it-be-exploited-by-shellshock-linux-apache-w
    逻辑分离
  • 原文地址:https://www.cnblogs.com/luo630/p/9166080.html
Copyright © 2020-2023  润新知