Python 语言 系统信息获取的 platform 与 psutil 模块

Python阿木 发布于 2 天前 3 次阅读


阿木博主一句话概括:深入探索Python系统信息获取:platform与psutil模块的应用

阿木博主为你简单介绍:
在Python编程中,获取系统信息是一个常见的需求。本文将围绕Python的`platform`和`psutil`模块展开,详细介绍这两个模块的功能、使用方法以及在实际开发中的应用。通过本文的学习,读者将能够熟练运用这两个模块来获取系统信息,为后续的编程任务打下坚实的基础。

一、

系统信息获取是软件开发中不可或缺的一部分,它可以帮助开发者了解系统的运行状态、硬件配置等信息。Python作为一门功能强大的编程语言,提供了多种方式来获取系统信息。其中,`platform`和`psutil`模块是两个常用的工具。本文将详细介绍这两个模块的使用方法。

二、platform模块

`platform`模块是Python标准库的一部分,用于获取与操作系统和平台相关的信息。以下是一些常用的`platform`模块功能:

1. 获取操作系统名称和版本
python
import platform

os_name = platform.system()
os_version = platform.release()
print(f"操作系统名称:{os_name}")
print(f"操作系统版本:{os_version}")

2. 获取处理器架构
python
arch = platform.machine()
print(f"处理器架构:{arch}")

3. 获取Python解释器信息
python
python_version = platform.python_version()
print(f"Python版本:{python_version}")

4. 获取平台名称
python
node = platform.node()
print(f"平台名称:{node}")

三、psutil模块

`psutil`(process and system utilities)是一个跨平台库,用于获取系统使用情况、进程和系统利用率等信息。以下是一些常用的`psutil`模块功能:

1. 获取CPU信息
python
import psutil

cpu_count = psutil.cpu_count()
print(f"CPU核心数:{cpu_count}")

2. 获取内存信息
python
memory = psutil.virtual_memory()
print(f"总内存:{memory.total / (1024 3):.2f} GB")
print(f"已使用内存:{memory.used / (1024 3):.2f} GB")

3. 获取磁盘信息
python
disk_usage = psutil.disk_usage('/')
print(f"总磁盘空间:{disk_usage.total / (1024 3):.2f} GB")
print(f"已使用磁盘空间:{disk_usage.used / (1024 3):.2f} GB")

4. 获取网络信息
python
net_io = psutil.net_io_counters()
print(f"发送数据包:{net_io.bytes_sent}")
print(f"接收数据包:{net_io.bytes_recv}")

5. 获取进程信息
python
process = psutil.Process()
print(f"进程ID:{process.pid}")
print(f"进程名称:{process.name()}")

四、应用实例

以下是一个简单的应用实例,展示如何结合`platform`和`psutil`模块获取系统信息并保存到文件中:

python
import platform
import psutil

def get_system_info():
info = {
"操作系统名称": platform.system(),
"操作系统版本": platform.release(),
"处理器架构": platform.machine(),
"Python版本": platform.python_version(),
"CPU核心数": psutil.cpu_count(),
"总内存": psutil.virtual_memory().total / (1024 3),
"已使用内存": psutil.virtual_memory().used / (1024 3),
"总磁盘空间": psutil.disk_usage('/').total / (1024 3),
"已使用磁盘空间": psutil.disk_usage('/').used / (1024 3),
"发送数据包": psutil.net_io_counters().bytes_sent,
"接收数据包": psutil.net_io_counters().bytes_recv
}
return info

def save_info_to_file(info, filename="system_info.txt"):
with open(filename, "w") as file:
for key, value in info.items():
file.write(f"{key}: {value}")

if __name__ == "__main__":
system_info = get_system_info()
save_info_to_file(system_info)
print("系统信息已保存到文件。")

五、总结

本文详细介绍了Python的`platform`和`psutil`模块,并通过实例展示了如何使用这两个模块获取系统信息。通过学习本文,读者可以掌握如何获取操作系统、CPU、内存、磁盘和网络等信息,为后续的编程任务提供有力支持。在实际开发中,合理运用这些信息可以帮助开发者更好地优化程序性能,提高用户体验。