使用python获取电脑的磁盘信息方法

yipeiwu_com7年前Python基础

使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能。

在iPython交互界面中进行如下演示:

查看电脑的磁盘分区:

In [1]: import psutil
In [2]: psutil.disk_partitions()
Out[2]: [sdiskpart(device='/dev/disk2', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel')]
In [3]: len(psutil.disk_partitions())
Out[3]: 1

从上面的结果看出,电脑只有一个分区。针对最后的结果专门通过判断字典的元素个数来确认了一下。

查看电脑的磁盘使用百分比:

In [4]: psutil.disk_usage('/')
Out[4]: sdiskusage(total=1114478608384, used=305497878528, free=808718585856, percent=27.4)

相对来说还好,新电脑使用时间还不是很长,硬盘暂时还没有塞满。总共用了大约27.4%。

查看电脑磁盘的IO计数:

In [5]: psutil.disk_io_counters()
Out[5]: sdiskio(read_count=112237L, write_count=99750L, read_bytes=5243863040L, write_bytes=7047483392L, read_time=80568L, write_time=138699L)

In [7]: psutil.disk_io_counters(perdisk=True)
Out[7]: 
{'disk0': sdiskio(read_count=103533L, write_count=86260L, read_bytes=5120090624L, write_bytes=4813373440L, read_time=29774L, write_time=27654L),
 'disk1': sdiskio(read_count=8740L, write_count=13723L, read_bytes=124141056L, write_bytes=2237206528L, read_time=50840L, write_time=111871L)}

上面分别使用了两种方式,第一种方式是获取磁盘总的IO信息,第二种是查看电脑分区的磁盘信息。从结果上来看,信息的统计不是按照逻辑分区来统计的,而是按照物理磁盘来统计的。我的电脑上正好是有两块磁盘,一块机械硬盘还有一块固态硬盘,其实这个按照物理磁盘进行统计的说法是根据这个推断出来的。

以上这篇使用python获取电脑的磁盘信息方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 中文乱码问题深入分析

python 中文乱码问题深入分析

在本文中,以'哈'来解释作示例解释所有的问题,“哈”的各种编码如下: 1. UNICODE (UTF8-16),C854; 2. UTF-8,E59388; 3. GBK,B9FE。 一...

Python操作MySQL数据库的三种方法总结

Python操作MySQL数据库的三种方法总结

1. MySQLdb 的使用 (1) 什么是MySQLdb? MySQLdb 是用于 Python 连接 MySQL 数据库的接口,它实现了 Python 数据库 API 规范 V2.0...

Django 日志配置按日期滚动的方法

记录下Django关于日期的配置,以及如何根据日期滚动切割日志的问题。 配置的源码在githun上 https://github.com/blackmatrix7/django-exam...

Pandas实现数据类型转换的一些小技巧汇总

Pandas实现数据类型转换的一些小技巧汇总

前言 Pandas是Python当中重要的数据分析工具,利用Pandas进行数据分析时,确保使用正确的数据类型是非常重要的,否则可能会导致一些不可预知的错误发生。 Pandas 的数据类...

Python中使用logging模块代替print(logging简明指南)

替换print?print怎么了? print 可能是所有学习Python语言的人第一个接触的东西。它最主要的功能就是往控制台 打印一段信息,像这样: 复制代码 代码如下: print...