有没有一种 Pythonic 方法来检查操作系统是不是是 64 位 Ubuntu?
Posted
技术标签:
【中文标题】有没有一种 Pythonic 方法来检查操作系统是不是是 64 位 Ubuntu?【英文标题】:Is there a pythonic way to check whether OS is a 64bit Ubuntu?有没有一种 Pythonic 方法来检查操作系统是否是 64 位 Ubuntu? 【发布时间】:2015-10-25 11:24:03 【问题描述】:有没有一种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)
【问题讨论】:
【参考方案1】:您可以使用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)
【讨论】:
谢谢!!platform
太棒了!!但是小错误,应该是is_linux('ubuntu', 'x86_64')
,因为platform.linux_distribution()[0].lower()
@alvas:啊,是的,我的错。很高兴我能帮上忙!【参考方案2】:
使用platform
模块提供的功能,特别是platform.architecture 和platform.uname。
【讨论】:
以上是关于有没有一种 Pythonic 方法来检查操作系统是不是是 64 位 Ubuntu?的主要内容,如果未能解决你的问题,请参考以下文章
是否有一种优雅的 Pythonic 方式来计算已处理的数据? [复制]