获取Linux的通用操作系统名称Python
问题描述:
我试图在python中获得Linux发行版名称,比如centos,fedora,ubuntu,SuSE等。
我使用了平台模块。
我的代码是获取Linux的通用操作系统名称Python
import platform
version = platform.platform(aliased=0)
version = version.split('-with-',1)[1].split('-',1)[0]
print version
它给了我所需的输出。但除此之外,还有其他更简单的方法,还是直接给我起名字的任何模块?
答
试试这个:
>>> import platform
>>> platform.linux_distribution()
('Red Hat Enterprise Linux Server', '6.6', 'Santiago')
答
什么platform.linux_distribution?
In [1]: import platform
In [2]: platform.linux_distribution()
Out[2]: ('Fedora', '21', 'Twenty One')
答
试试下面的代码:
>>> import os
>>> cmd = "lsb_release -si"
>>> os.system(cmd)
Ubuntu
它正在与大多数发行。但不知道为什么我在Redhat中遇到错误。 >>> platform.platform(aliased = 0) 'Linux-2.6.18-128.6om-x86_64-with-redhat-7-Moonshine' >>> platform.linux_distribution() Traceback(最近一次调用最后一次) : 文件“”,1号线,在 AttributeError的:“模块”对象有没有属性“linux_distribution” –
@sudheeshshetty,什么是你的Python版本,你可以发布目录(平台)的输出 – Hackaholic
是Python 2.5的,我无法在dir(platform)中看到linux_distribution。虽然当我粘贴错误时,我得到了替代方案。即platform.dist()。 –