python - 有没有一种Pythonic方法来检查操作系统是否是64位Ubuntu?

标签 python operating-system uname lsb

有没有一种Pythonic方法来检查操作系统是否是64位Ubuntu?

目前,我一直在这样做:

import os

def check_is_linux(distro, architecture, err_msg):
    try:
        this_os = os.popen('lsb_release -d').read()
        this_arch = os.popen('uname -a').read()
        assert distro in this_os and architecture in this_arch, err_msg
    except:
        print(err_msg)

def check_is_64bit_ubuntu(err_msg):
    check_is_linux('Ubuntu', 'x86_64', err_msg)

最佳答案

您可以使用platform module获取发行版和处理器信息:

import platform

def is_linux(distro, architecture):
    if not platform.system() == 'Linux':
        return False

    if platform.linux_distribution()[0].lower() != distro:
        return False

    return platform.processor() == architecture

def is_64bit_ubuntu():
    return is_linux('ubuntu', 'x86_64')

if not is_64bit_ubuntu():
    print(err_msg)

关于python - 有没有一种Pythonic方法来检查操作系统是否是64位Ubuntu?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785850/

相关文章:

python - os.read() 给出 OSError : [Errno 22] Invalid argument when reading large data

linux - 如何更改内核的版本字符串?

c - 使用 uname(2) 检查错误?

Python_Pandas : Among duplicate columns, 选择具有最新日期的列,然后选择得分最高的列

python - 将 unicode 列表转换为包含 python 字符串的列表的简单方法?

Python 动画阴影 matplotlib

ios - 什么是 utsname 和 systemInfo?

python - 将字符串与 Ascii 字符(STX、ETX)组合起来与一次写入字符串不同

java - 开发Android时,应该引用API编号还是操作系统版本,有什么区别?

macos - OSX 中 XNU 内核的系统调用列表和文档