一、使用platform模块
在Python中,可以使用platform模块来获取当前操作系统的名称以及其他相关信息:
import platform system = platform.system() print("当前操作系统名称:", system)
运行上面的代码,可以输出当前操作系统的名称,例如Windows、Linux等。
二、使用os模块
另外一个获取操作系统名称的方法是使用os模块。os模块提供的uname()函数可以获取系统相关信息,包括系统名称和版本号:
import os system_info = os.uname() print("当前操作系统名称:", system_info.sysname) print("当前操作系统版本号:", system_info.release)
运行上面的代码,可以输出当前操作系统的名称和版本号,例如Linux系统的名称是Linux,版本号是Linux-5.4.0-26-generic。
三、使用sys模块
还可以使用sys模块,sys.platform属性会返回关于操作系统的信息:
import sys print("当前操作系统名称:", sys.platform)
运行上面的代码,可以输出当前操作系统的名称,例如win32或linux。
四、使用ctypes模块
在Python中还可以使用ctypes模块来调用Windows系统API获取操作系统的名称。由于Windows API使用DLL文件来实现,因此需要使用ctypes模块将DLL文件加载到Python中:
import ctypes def get_windows_version(): kernel32 = ctypes.windll.LoadLibrary("kernel32.dll") GetVersionExW = kernel32.GetVersionExW GetVersionExW.argtypes = [ctypes.POINTER(ctypes.c_void_p)] GetVersionExW.restype = ctypes.c_void_p info = ctypes.c_void_p() GetVersionExW(ctypes.byref(info)) major_version = ctypes.c_uint() minor_version = ctypes.c_uint() build_number = ctypes.c_uint() product_type = ctypes.c_uint() # 获取版本等信息 ctypes.windll.Ntdll.RtlGetNtVersionNumbers(ctypes.byref( major_version), ctypes.byref(minor_version), ctypes.byref(build_number)) product_type = ctypes.c_uint() return major_version.value, minor_version.value, build_number.value if __name__ == "__main__": if ctypes.windll.kernel32.GetVersionExW: version = get_windows_version() print("当前操作系统名称:Windows", version[0], ".", version[1], "build", version[2]) else: print("不是Windows操作系统")
运行上面的代码,可以输出当前Windows操作系统的名称,例如Windows 10 build 18363。
五、小结
在Python中获取操作系统名称的方法有多种,使用platform、os、sys以及ctypes模块都可以实现这一功能。如果要编写跨平台的Python程序,建议使用platform或sys模块来获取操作系统名称,因为它们是跨平台的;如果只考虑在Windows平台上运行,可以使用ctypes模块调用Windows系统API来获取操作系统名称。