【发布时间】:2011-08-22 13:20:51
【问题描述】:
我想用python写一些安装脚本,它应该知道操作系统选择apt命令或yum命令。
sys.platform 似乎可以告诉 'win32' 或其他人,但如何知道它在 Python 中运行在 Debian 或 CentOS 上?
【问题讨论】:
标签: python debian centos yum apt
我想用python写一些安装脚本,它应该知道操作系统选择apt命令或yum命令。
sys.platform 似乎可以告诉 'win32' 或其他人,但如何知道它在 Python 中运行在 Debian 或 CentOS 上?
【问题讨论】:
标签: python debian centos yum apt
如果您只需要知道是使用 yum 还是 apt,一种方法就是选择其中一个命令并尝试一下。如果有效,则有效;如果没有,捕获异常并尝试其他命令。
【讨论】:
yum、apt、zypper、emerge、etc 之间进行选择,那就是可能是最好的方法。另一方面,如果有其他特定于发行版的功能,使用platform 模块可能更有意义......无论哪种方式,+1 来自我!
标准库中的platform module 有你想要的。
import platform
print platform.linux_distribution()
【讨论】:
platform.linux_distribution()。对于流行的 CentOS 5.5,因为它的默认 Python 版本是 2.4.3,所以必须使用platform.dist()。
platform.linux_distribution() 已被贬值。建议改用 PyPI 库,比如 distro github.com/nir0s/distro,讨论一下bugs.python.org/msg207415