首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取OS X上的OS版本

获取OS X上的OS版本
EN

Stack Overflow用户
提问于 2013-02-11 05:17:55
回答 2查看 1.6K关注 0票数 1

我有一个用来在Ubuntu中运行的旧脚本。现在,我有一台Mac,并且想要重用这个脚本。

有人知道在Mac OS中什么命令相当于下面的命令吗?

代码语言:javascript
复制
def runCmd(cmd):
    p = subprocess.Popen(cmd,
                         shell=True, 
                         stdin=subprocess.PIPE, 
                         stdout=subprocess.PIPE, 
                         stderr=subprocess.PIPE, 
                         close_fds=True)
    result=p.stdout.readlines()
    s=result[0].split()[0]
    return s

def getKernelVer():
    cmd="uname -r| cut --delim=\'.\' -f1-2"
    return runCmd(cmd)

def getUbuntuVer():
    cmd="lsb_release  -a | grep Release | cut -f 2"
    return runCmd(cmd)

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 05:22:52

在达尔文的指导下,uname -r的工作原理是一样的。内核版本并不是大多数人谈论或关心的东西,但它确实存在。唯一需要注意的是,cut不支持--delim long选项,因此,请尝试执行以下操作:

代码语言:javascript
复制
uname -r | cut -d. -f1-2

然而,达尔文的内核版本控制与Linux的内核版本控制有很大的不同,所以在这里运行cut的目的并不明确。(实际上,这在Linux上也不是很清楚,因为版本控制方案在3.0版中发生了重大变化。)

要获得Mac OS的当前版本(大致相当于您为Ubuntu获得的“版本”),您可以使用以下命令:

代码语言:javascript
复制
sw_vers -productVersion
票数 3
EN

Stack Overflow用户

发布于 2013-10-27 19:11:43

您可以使用python "platform“模块(我无法访问Ubuntu,请尝试并发布您的发现:)

  1. 使用platform.system()来区分Linux或Darwin
  2. 调用platform.release()来获取内核版本
  3. 调用platform.linux_distribution()或platform.mac_ver()来获取特定于供应商的版本号。

在CentOS上:

代码语言:javascript
复制
$ python
Python 2.7.5 (default, Jul 23 2013, 17:26:16) 
[GCC 4.7.2 20121015 (Red Hat 4.7.2-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> platform.system()
'Linux'
>>> platform.release()
'2.6.32-358.18.1.el6.x86_64'
>>> platform.linux_distribution()
('CentOS', '6.4', 'Final')
>>> 

在OS X上:

代码语言:javascript
复制
$ python
Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> platform.system()
'Darwin'
>>> platform.release()
'13.0.0'
>>> platform.mac_ver()
('10.9', ('', '', ''), 'x86_64')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14802694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档