2011-05-10 127 views

回答

9

标准库中的platform module有你想要的。

import platform 
print platform.linux_distribution() 
+1

谢谢,它的作品。但是我发现Python 2.6支持'platform.linux_distribution()'。对于流行的CentOS 5.5,因为它的默认Python版本是2.4.3,所以它必须使用'platform.dist()'。 – William 2011-05-10 15:47:06

+1

就像升级一样,'platform.linux_distribution()'已经折旧了。建议使用PyPI库,比如发行版https://github.com/nir0s/distro,关于它的讨论https://bugs.python.org/msg207415 – CasualDemon 2017-03-10 15:57:04

3

如果您只需要知道是否使用yum或apt,一种方法就是简单地选择其中一个命令并尝试。如果它起作用,它就会起作用;如果没有,则捕获异常并尝试其他命令。

+1

这肯定是做它的“Python化”的方式......如果OP只想之间'yum','apt','zypper','emerge','etc'选择它可能是最好的办法。另一方面,如果还有其他特定于发行版的功能,则使用“平台”模块可能更有意义......无论哪种方式,我都会+1! – 2011-05-10 15:05:39

+0

也谢谢。如果没有好的办法来区分这些平台,我会使用你的方法。 – William 2011-05-10 15:48:48

相关问题