有没有一种 pythonic 方法来检查 OS 是否是 64 位 Ubuntu?
Is there a pythonic way to check whether OS is a 64bit Ubuntu?
是否有 pythonic 方法来检查 OS 是否是 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)
使用 platform
模块提供的功能,特别是 platform.architecture 和 platform.uname。
是否有 pythonic 方法来检查 OS 是否是 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)
使用 platform
模块提供的功能,特别是 platform.architecture 和 platform.uname。