La respuesta actualmente aceptada utiliza una función obsoleta. La forma correcta de hacer esto a partir de Python 2.6 y versiones posteriores es:
import platform
print(platform.linux_distribution())
La documentación no dice si esta función está disponible en plataformas que no son Linux, pero en mi escritorio local de Windows obtengo:
>>> import platform
>>> print(platform.linux_distribution())
('', '', '')
También está esto, para hacer algo similar en máquinas Win32:
>>> print(platform.win32_ver())
('post2008Server', '6.1.7601', 'SP1', 'Multiprocessor Free')
Se parece a platform.dist()
y platform.linux_distribution()
están en desuso en Python 3.5 y se eliminarán en Python 3.8. Lo siguiente funciona en Python 2/3
import platform
'ubuntu' in platform.version().lower()
Ejemplo de valor de retorno
>>> platform.version()
'#45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 2022'