1、操作系统平台
操作系统平台是计算机系统的基础软件,用于管理计算机的硬件和提供应用程序与硬件之间的接口。以下是一些常见的操作系统平台:
平台  | 描述  | 
Windows  | Microsoft Windows 操作系统, 包括 Windows 10、Windows 8、Windows 7、Windows XP 等。 不同版本有不同的特性和界面。  | 
macOS  | 苹果公司的操作系统平台,用于 Macintosh 计算机。 包括 macOS Catalina、macOS Mojave、macOS High Sierra 等版本。  | 
Linux  | Linux 操作系统平台是一个开源的 Unix 操作系统。有许多不同的发行版, 如 Ubuntu、Fedora、Debian、CentOS、Red Hat Enterprise Linux 等。  | 
Unix  | Unix 是一个类 Unix 操作系统家族的通用术语, 包括商业版本如 IBM AIX、HP-UX, 以及开源版本如 FreeBSD 和 OpenBSD。  | 
Android  | Android 是用于移动设备 (如智能手机和平板电脑)的操作系统平台, 由 Google 开发。  | 
iOS  | iOS 是苹果公司用于 iPhone 和 iPad 等移动设备的操作系统平台。  | 
Chrome OS  | Google 的 Chrome OS 用于 Chromebook, 是一个基于浏览器的轻量级操作系统。  | 
Windows Server  | Microsoft Windows Server 是用于服务器环境的 Windows 操作系统平台。  | 
BSD  | BSD(Berkeley Software Distribution)是 Unix 的衍生版本, 包括 FreeBSD、OpenBSD 和 NetBSD。  | 
Solaris  | Solaris 是由甲骨文公司(Oracle Corporation)开发的 Unix 操作系统。  | 
IBM i  | IBM i(原名 AS/400 或 iSeries)是 IBM 开发的操作系统, 用于中小型企业的服务器。  | 
z/OS  | IBM z/OS 是用于 IBM 大型计算机(主机)的操作系统。  | 
AIX  | IBM AIX 是 IBM 开发的 Unix 操作系统, 用于 IBM POWER 架构的服务器。  | 
2、platform模块
Python 的 platform 模块提供了一些函数和属性,用于获取有关操作系统和计算机硬件的信息。
方法/属性  | 说明  | 
platform.system()  | 获取操作系统的名称, 例如 "Linux"、"Windows"、"Darwin"(macOS)等。  | 
platform.python_version()  | 获取 Python 解释器的版本信息。  | 
platform.machine()  | 获取计算机的硬件架构, 例如 "x86_64"、"AMD64"、"armv7l" 等。  | 
platform.processor()  | 获取计算机的处理器信息, 例如 "x86_64"、"Intel64 Family 6 Model 142 Stepping 10, GenuineIntel" 等。  | 
platform.uname()  | 获取一个包含有关操作系统、 计算机名称、版本号、发布、处理器等信息的命名元组。  | 
platform.version()  | 获取操作系统的版本信息。  | 
platform.linux_distribution()  | 获取 Linux 发行版的信息, 返回一个包含名称、版本和 ID 的元组。  | 
platform.dist()  | 获取 Linux 发行版的信息, 返回一个包含名称、版本和 ID 的元组。 已弃用,建议使用 linux_distribution() 。  | 
platform.win32_ver (release='', version='', csd='', ptype='')  | 获取 Windows 版本的详细信息。  | 
platform.mac_ver (release='', version='', machine='')  | 获取 macOS 版本的详细信息。  | 
platform.libc_ver (executable=sys.executable, lib='', version='', chunksize=2048)  | 获取 C 库的版本信息。  | 
platform.architecture (executable=sys.executable, bits='', linkage='')  | 获取可执行文件的架构信息。  | 
platform.dist() (已弃用)  | 获取 Linux 发行版的信息。弃用,建议使用 linux_distribution() 。  | 
platform.popen (command, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)  | 打开一个管道,并返回一个连接到管道的文件对象。 可以用于执行命令并捕获输出。  | 
platform.arch (属性)  | 获取 Python 解释器的构建架构信息, 例如 "64bit" 或 "32bit"。  | 
3、使用示例
1)使用 platform
from platform import system
def detect_os():
    """Detect operating system.
    """
    # Inspired by:
    # https://github.com/scivision/pybashutils/blob/78b7f2b339cb03b1c37df94015098bbe462f8526/pybashutils/w...
    syst = system().lower()
    os = 'unknown'
    if 'cygwin' in syst:
        os = 'cygwin'
    elif 'darwin' in syst:
        os = 'mac'
    elif 'linux' in syst:
        os = 'linux'
        # detect WSL https://github.com/Microsoft/BashOnWindows/issues/423
        try:
            with open('/proc/version', 'r') as f:
                if 'microsoft' in f.read().lower():
                    os = 'wsl'
        except: pass
    elif 'windows' in syst:
        os = 'windows'
    elif 'bsd' in syst:
        os = 'bsd'
    return os
    
print(detect_os())
2)使用sys.platform
import sys
platform = sys.platform
if platform == 'linux' or platform == 'linux2':
    print("Linux system.")
elif platform == 'darwin':
    print("macOS (Mac OS X).")
elif platform == 'win32' or platform == 'win64':
    print("Windows system.")
else:
    print(f"unknown")
4、Python其它与操作系统有关的模块
1)os模块
| 函数/属性 | 描述 | 
|---|---|
os.sep | 取代操作系统特定的路径分割符 | 
os.name | 字符串指示正在使用的平台 | 
os.getcwd() | 得到当前工作目录的路径 | 
os.getenv(), os.putenv() | 用来读取和设置环境变量 | 
os.listdir() | 返回指定目录下的所有文件和目录名 | 
os.remove() | 用来删除一个文件 | 
os.system() | 用来运行shell命令 | 
os.linesep | 给出当前平台使用的行终止符 | 
os.path.split() | 返回一个路径的目录名和文件名 | 
os.path.isfile(), os.path.isdir() | 检验路径是文件还是目录 | 
os.path.exists() | 检验给出的路径是否存在 | 
os.listdir(dirname) | 列出dirname下的目录和文件 | 
os.curdir | 返回当前目录(.) | 
os.chdir(dirname) | 改变工作目录到dirname | 
os.path.isdir(name) | 判断name是不是一个目录 | 
os.path.isfile(name) | 判断name是不是一个文件 | 
os.path.getsize(name) | 获得文件大小,如果name是目录返回0L | 
os.path.abspath(name) | 获得绝对路径 | 
os.path.normpath(path) | 规范path字符串形式 | 
os.path.split(name) | 分割文件名与目录 | 
os.path.splitext() | 分离文件名与扩展名 | 
os.path.join(path, name) | 连接目录与文件名或目录 | 
os.path.basename(path) | 返回文件名 | 
os.path.dirname(path) | 返回文件路径 | 
2)sys模块
| 函数/属性 | 描述 | 
|---|---|
sys.argv | 实现从程序外部向程序传递参数 | 
sys.exit([arg]) | 程序中间的退出,arg=0为正常退出 | 
sys.getdefaultencoding() | 获取系统当前编码,一般默认为ascii | 
sys.setdefaultencoding() | 设置系统默认编码,通常在启动时设置 | 
sys.getfilesystemencoding() | 获取文件系统使用编码方式 | 
sys.path | 获取指定模块搜索路径的字符串集合 | 
sys.platform | 获取当前系统平台 | 
sys.stdin | 对应标准输入流的流对象 | 
sys.stdout | 对应标准输出流的流对象 | 
sys.stderr | 对应标准错误流的流对象 |