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