1

有没有一种 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)
4

2 回答 2

3

您可以使用该platform模块获取分发和处理器信息:

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)
于 2015-08-03T11:19:51.450 回答
0

使用platform模块提供的功能,特别是 platform.architecture 和 platform.uname。

于 2015-08-03T11:36:46.193 回答