一、sys模块,主要是针对解释器的功能
二、platform模块,主要针对平台和系统相关的信息
三、os模块,主要针对系统路径信息
简单来说,sys主要用于与解释器的交互,os主要用于与操作系统的交互
记忆技巧:
- sys = system(系统)→ Python系统/解释器
- os = operating system(操作系统)→ 操作系统功能
import sys
import platform
import os
def print_python_info():
"""打印Python解释器和版本相关信息"""
print("\n=== Python解释器信息 ===")
# 显示Python版本,包括构建号和编译信息
print(f"Python版本信息: {sys.version}")
# 显示当前Python程序的命令行参数列表
print(f"命令行参数: {sys.argv}")
# 显示标准输入对象
print(f"标准输入: {sys.stdin}")
# 显示标准输出对象
print(f"标准输出: {sys.stdout}")
# 显示标准错误输出对象
print(f"标准错误: {sys.stderr}")
def print_platform_info():
"""打印平台和系统相关信息"""
print("\n=== 平台信息 ===")
# 获取系统架构信息(位数和链接类型)
print(f"系统架构: {platform.architecture()}")
# 获取计算机的硬件类型
print(f"硬件类型: {platform.machine()}")
# 获取计算机的网络名称
print(f"网络名称: {platform.node()}")
# 获取操作系统名称和版本信息
print(f"操作系统信息: {platform.platform()}")
def print_directory_info():
"""打印目录和文件系统相关信息"""
print("\n=== 目录信息 ===")
# 获取当前工作目录的绝对路径
print(f"当前工作目录: {os.getcwd()}")
# 列出当前目录下的所有文件和文件夹
print(f"目录内容: {os.listdir()}")
def main():
"""主函数"""
try:
print_python_info()
print_platform_info()
print_directory_info()
except Exception as e:
print(f"发生错误: {e}")
finally:
print("\n=== 程序执行完毕 ===")
# 当作为主程序运行时执行
if __name__ == "__main__":
main()
打印结果
=== Python解释器信息 ===
Python版本信息: 3.10.16 (main, Dec 11 2024, 10:24:41) [Clang 14.0.6 ]
命令行参数: ['/Users/mac/Desktop/project/study/1.sys.py']
标准输入: <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
标准输出: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
标准错误: <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
=== 平台信息 ===
系统架构: ('64bit', '')
硬件类型: x86_64
网络名称: MACdeMacBook-Pro.local
操作系统信息: macOS-10.16-x86_64-i386-64bit
=== 目录信息 ===
当前工作目录: /Users/mac/Desktop/project/study
目录内容: ['1.sys.py', '学习路径', 'day1.py']
=== 程序执行完毕 ===