iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >[Python之道] 几种判断操作系统
  • 465
分享到

[Python之道] 几种判断操作系统

之道几种操作系统 2023-01-31 05:01:54 465人浏览 独家记忆
摘要

在实际项目中有时候不知道操作系统的类型,比如是windows、OS X、*Unix?而python代码虽说是跨平台(CrossPlatfORM)的,但是毕竟他们还是有些不同的,有的函数方法只能在某些操作系统下实现,这时考虑到程序

在实际项目中有时候不知道操作系统的类型,比如是windows、OS X、*Unix?而python代码虽说是跨平台(CrossPlatfORM)的,但是毕竟他们还是有些不同的,有的函数方法只能在某些操作系统下实现,这时考虑到程序的可移植性,需要在代码中对当前所在的操作系统做一个判断。

如果只想判断操作系统的类型,可调用 sys 库中的 platform 属性: sys.platform 。它能返回简单的属性:操作系统类型(Windows?linux?还是其他)。例如,在Windwos 10 64位系统下Python2的解释器中运行,显示结果 win32python3的解释器中运行,显示结果也为 win32 。Windows 7 64位系统下显示结果同Win10。Debian 9(一个Linux的发行版)下Python2的显示结果为 linux2 ,Python3的显示结果为 linux 。这说明我们可以用 win32 这个返回值来判断当前系统是Windwos,返回 linux 则说明是Linux系统。(由于手上没有Windows 32位版本的系统,故没有测试在它们上门的运行结果,猜测也差不多;另外十分好奇Linux python2返回的结果中为什么会有一个2……)

还有一种方法是调用 os 库中的 name 属性: os.name 。它的返回值有两种: ntposix 。其中, nt 表示Windwos系操作系统, posix 代表类Unix或OS X系统。

那如果我们想要知道更详细的信息呢?想要更详细的区分?这时候就要用到 platform 库了。
platform.system 方法会返回当前操作系统的类型,Windows?Linux?OS X?Unix?FreeBSD?它能比较详细的区分。(其他的一般只能识别Windows和非Windwos)
platform.release 方法会返回当前操作系统的版本。笔者的测试环境是Windows 10 64位,它返回的结果是 10 。(Python2和Python3都一样)。相应的,如果是Windows 7,则会返回 7 ;Windows XP则返回 XP有点特殊的是对于Linux发行版,它返回的是内核(kernel)的版本号。 这点要注意。
platform.version 方法返回的则是当前系统的版本号,这个就不细说了。
platform.Machine 方法返回的是系统的结构,64位or32位。
platform.uname 方法返回一个 元组 ,里面包含了当前操作系统的更详细的信息,方便调用。

--结束END--

本文标题: [Python之道] 几种判断操作系统

本文链接: https://www.lsjlt.com/news/188882.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作