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 | 对应标准错误流的流对象 |