首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查系统在python脚本中是否是FreeBSD?

如何检查系统在python脚本中是否是FreeBSD?
EN

Stack Overflow用户
提问于 2015-05-03 15:31:42
回答 3查看 1.6K关注 0票数 5

我想在python 2.7.x脚本中添加一个检查,形式为

代码语言:javascript
复制
if __check_freebsd__():
    # run actions which would only work on FreeBSD (e.g. create a jail)
elif __check_debian__():
    # run an alternative that runs on Debian-based systems
else:
    raise Error("unsupported OS")

__check_freebsd__函数会是什么样子?

我已经为__check_debian__编写了以下代码:

代码语言:javascript
复制
try:
    lsb_release_id_short = sp.check_output([lsb_release, "-d", "-s"]).strip().decode("utf-8")
    ret_value = "Debian" in lsb_release_id_short
    return ret_value
except Exception:
    return False

所以你不必为此烦恼(当然,改进的建议是受欢迎的)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-03 15:40:30

正如在文件中所说,

代码语言:javascript
复制
platform.system()

返回platform OS名称,因此您可以使用此名称。在这条线中,您还可以看到检查底层操作系统的不同方法。

票数 3
EN

Stack Overflow用户

发布于 2015-05-03 15:34:03

看看os.uname

我不是百分之百肯定,但它可能是类似于os.uname()[0] == "FreeBSD"

票数 1
EN

Stack Overflow用户

发布于 2015-05-03 15:40:38

试试这个:

代码语言:javascript
复制
>>> from sys import platform
>>> platform()
# on my system I get
'linux' # check string for freebsd

另外:

代码语言:javascript
复制
# below are my results
>>> import platform
>>> platform.system()
'Linux' # would be 'FreeBSD' if I was using that
>>> platform.platform()
'Linux-3.19.0-15-generic-x86_64-with-Ubuntu-15.04-vivid'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30015665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档