如何检查操作系统是否是Debian衍生工具(Python)

如何检查操作系统是否是Debian衍生工具(Python),python,operating-system,debian,Python,Operating System,Debian,从Python脚本判断操作系统是否是Debian派生的(将来我还需要Fedora、FreeBSD等的相同功能),什么是好方法 我需要这个选项来选择是使用dpkg-s命令来确定安装了哪个软件,还是返回到检查路径中是否有命令 例如,确定是否安装了xsltproc软件包(以及其版本,如果可能),如果它是Debian或派生系统,我会使用dpkg-s xsltproc,或者检查路径中是否有xsltproc。有些人可能会鼓励你寻找你想要使用的功能,而不是发行版,然后根据它推断你应该使用什么。例如,如果要使用

从Python脚本判断操作系统是否是Debian派生的(将来我还需要Fedora、FreeBSD等的相同功能),什么是好方法

我需要这个选项来选择是使用
dpkg-s
命令来确定安装了哪个软件,还是返回到检查
路径中是否有命令


例如,确定是否安装了
xsltproc
软件包(以及其版本,如果可能),如果它是Debian或派生系统,我会使用
dpkg-s xsltproc
,或者检查
路径中是否有
xsltproc

有些人可能会鼓励你寻找你想要使用的功能,而不是发行版,然后根据它推断你应该使用什么。例如,如果要使用
dpkg
,请检查它是否存在,然后尽可能使用它

然而,这并不能回答你的具体问题。。。你怎么知道你在运行什么发行版?根据您运行的Python版本,有两个选项:

  • 使用
    platform.linux\u distribution()
    。如文档所述,它将返回一个元组
    (发行版名称、版本、id)
    。但是,它在Python3中已被弃用,并将在3.8中删除
  • 使用
    发行版
    软件包。如文件所述,通过安装此软件包,然后调用
    distro.linux\u distribution()
    ,您可以得到非常相似的结果。发行说明说,这将适用于2.7和3.4+
  • 还有比这更老的选项,但它们从2.6版开始就被弃用了,所以我这里没有包括它们。

    有一天,所有发行版都会使用它们