簡體   English   中英

如何使用Python檢測Mac OS版本?

[英]How to detect Mac OS version using Python?

假設我的應用程序在Mac OS X系統上運行。 但是,我需要做的是弄清楚它運行的是什么版本的Mac OS(或Darwin),最好是數字。 例如,

  • “10.4.11”將返回10.4或8
  • “10.5.4”將返回10.5或9
  • “10.6”將返回10.6或10

我發現你可以這樣做,在我的系統上返回“8.11.0”:

import os
os.system("uname -r")

是否有更簡潔的方法來執行此操作,或者至少是從結果中提取第一個數字的方法? 謝謝!

>>> import platform
>>> platform.mac_ver()
('10.5.8', ('', '', ''), 'i386')

如你所見,元組mac_ver返回的第一項是一個字符串,而不是一個數字(難以將'10 .5.8'變成一個數字! - ),但很容易將10.xy字符串操作成一種你想要的數字。 例如,

>>> v, _, _ = platform.mac_ver()
>>> v = float('.'.join(v.split('.')[:2]))
>>> print v
10.5

如果您更喜歡Darwin內核版本而不是MacOSX版本,那么也很容易訪問 - 使用類似格式的字符串,它是platform.uname()返回的元組的第三項。

如果您已經在使用os,則可能需要使用os.uname()

import os
os.uname()

platform.mac_ver()將返回一個元組(release,versioninfo,machine

所以通過代碼獲取mac版本

>>> platform.mac_ver()[0]

'10.8.4'

這個方法很簡單

您可以解析/ usr / bin / sw_vers命令的輸出。

如果要運行命令(如'uname')並將結果作為字符串獲取,請使用子進程模塊

import subprocess
output = subprocess.Popen(["uname", "-r"], stdout=subprocess.PIPE).communicate()[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM