Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find MacOSX version from Python

Tags:

python

macos

Currently I am using this:

def _get_mac_ver():
    import subprocess
    p = subprocess.Popen(['sw_vers', '-productVersion'], stdout=subprocess.PIPE)
    stdout, stderr = p.communicate()
    return stdout.strip()

Is there a better version (eg: by using built-in Python API)?

>>> print _get_mac_ver()
10.6.3

Note: I tried os.uname()[2] which prints 10.3.0 on a Snow Leopard system.

like image 784
Sridhar Ratnakumar Avatar asked Feb 27 '23 18:02

Sridhar Ratnakumar


1 Answers

True to the philosophy that python comes with batteries included, there is a module in the standard library to do this: platform.

See in particular the `mac_ver()' function:

>>> import platform
>>> platform.mac_ver()
('10.6.3', ('', '', ''), 'i386')
>>> print platform.mac_ver()[0]
10.6.3
like image 141
fmark Avatar answered Mar 07 '23 07:03

fmark