2015-08-03 38 views
1

有没有python的方法来检查操作系统是否是64位的Ubuntu?有没有python的方法来检查操作系统是否是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) 

回答

3

可以使用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) 
+0

谢谢! '平台'很棒!但小错误,它应该是''is_linux('ubuntu','x86_64')''因为'platform.linux_distribution()[0] .lower()' – alvas

+0

@alvas:啊,是的,是我的错。很高兴我有帮助! –

0

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

相关问题