我需要从一个Python脚本中获取Linux发行版的名称。在platform模块中有一个dist
方法:
import platform
platform.dist()
但是在我的 Arch Linux 上,它返回:
>>> platform.dist()
('', '', '')
为什么?我该如何获取名称?
附注:我必须检查发行版是否基于Debian。
更新:我在这里发现Python网站,dist()自2.6版起已弃用。
>>> platform.linux_distribution()
('', '', '')
uname -a
在 Arch 上返回什么?platform.py 是 1600 行代码,尝试了所有可能的方法来区分各种系统;它是一个庞大的启发式堆积。Arch 似乎也只基于自身,没有其他发行版:http://en.wikipedia.org/wiki/Arch_Linux - mswlsb_release -is
在 Arch 下返回什么?如果platform.dist()
没有给你可用的数据,也许你可以调用subprocess.check_output(["lsb_release","-is"])
。 - panzi