如何使用Python检测Mac OS版本?
我的应用程序是运行在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")
有没有更简单的方法来做到这一点,或者至少能从结果中提取出第一个数字的方法?谢谢!
5 个回答
1
你可以解析一下 /usr/bin/sw_vers 命令的输出结果。
4
如果你已经在使用os这个模块,那么你可能想试试os.uname()这个功能。
import os
os.uname()
49
>>> import platform
>>> platform.mac_ver()
('10.5.8', ('', '', ''), 'i386')
如你所见,元组 mac_ver
返回的第一个项目是一个字符串,而不是数字(把 '10.5.8' 转换成数字可不容易!),不过把 10.x.y
这种字符串处理成你想要的数字其实很简单。例如,
>>> v, _, _ = platform.mac_ver()
>>> v = float('.'.join(v.split('.')[:2]))
>>> print v
10.5
如果你更喜欢 Darwin 内核版本而不是 MacOSX 版本,那也很容易获取——只需使用 platform.uname()
返回的元组中的第三个项目,它的格式也是类似的字符串。