判断当前系统是linux、windows还是MacOS (python)

发布于:2024-05-21 ⋅ 阅读:(200) ⋅ 点赞:(0)

在很多情况下,需要在python中获取当前系统的类型,用于判断是unix/windows/mac或者java虚拟机等,python中提供了os.name, sys.platform, platform.system等方式

sys

sys.platform会返回当前系统平台的标识符,Linux 是 ‘linux’;Windows 是 ‘win32’ 或者 ‘win64’;macOS 是 ‘darwin’,可以使用startswith()函数来进行判断。

import sys

def get_sys():
	if sys.platform.startswith("win"):
	    print("当前系统是Windows")
	    return 'windows'
	elif sys.platform.startswith("linux"):
	    print("当前系统是Linux")
	    return 'linux'
	elif sys.platform.startswith("darwin"):
	    print("当前系统是Mac OS")
	    return 'mac'
	else:
	    print("当前系统是其他操作系统")
	    return 'other'

platform

import platform
 
def get_sys():
	system = platform.system()
	if system == "Windows":
	    print("当前系统是Windows")
	    return 'windows'
	elif system == "Linux":
	    print("当前系统是Linux")
	    return 'linux'
	elif system == "Darwin":
	    print("当前系统是Mac OS")
	    return 'mac'
	else:
	    print("当前系统是其他操作系统")
	    return 'other'

os

import os
def get_sys():
	system = os.name
	if system == "nt":
		print("当前系统是Windows")
		return 'windows'
	elif system == "posix":
		print("当前系统是Linux或Mac OS")
		return 'linux'
	elif system == "java":
		print("当前系统是java虚拟机")
		return 'java'
	else
		print("当前系统是其他操作系统")
		return 'other'

主要区别

  • sys.platform 在构建配置时指定的编译器定义
  • os.name 用于检查特定的某些模块是否可用(例如:POSIX,nt, …)
  • platform.system() 实际上运行uname和潜在的几个其他函数来确定运行时的系统类型

网站公告

今日签到

点亮在社区的每一天
去签到