python使用wmi模块获取windows下硬盘信息的方法

yipeiwu_com5年前Python基础

本文实例讲述了python使用wmi模块获取windows下硬盘信息的方法。分享给大家供大家参考。具体实现方法如下:

# -*- coding: utf-8 -*- 
#import 
######################################################################## 
import os, sys 
import time 
import wmi 
######################################################################## 
#function 
######################################################################## 
def get_disk_info(): 
     """ 
     获取物理磁盘信息。 
     """ 
     tmplist = [] 
     c = wmi.WMI () 
     for physical_disk in c.Win32_DiskDrive (): 
         tmpdict = {} 
         tmpdict["Caption"] = physical_disk.Caption 
         tmpdict["Size"] = long(physical_disk.Size)/1024/1024/1024 
         tmplist.append(tmpdict) 
     return tmplist 
def get_fs_info() : 
     """ 
     获取文件系统信息。 
     包含分区的大小、已用量、可用量、使用率、挂载点信息。 
     """ 
     tmplist = [] 
     c = wmi.WMI () 
     for physical_disk in c.Win32_DiskDrive (): 
         for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"): 
             for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"): 
                 tmpdict = {} 
                 tmpdict["Caption"] = logical_disk.Caption 
                 tmpdict["DiskTotal"] = long(logical_disk.Size)/1024/1024/1024 
                 tmpdict["UseSpace"] = (long(logical_disk.Size)-long(logical_disk.FreeSpace))/1024/1024/1024 
                 tmpdict["FreeSpace"] = long(logical_disk.FreeSpace)/1024/1024/1024 
                 tmpdict["Percent"] = int(100.0*(long(logical_disk.Size)-long(logical_disk.FreeSpace))/long(logical_disk.Size)) 
                 tmplist.append(tmpdict) 
     return tmplist 
if __name__ == "__main__": 
     disk = get_disk_info() 
     print disk 
     print '--------------------------------------' 
     fs = get_fs_info() 
     print fs

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python中list列表的一些进阶使用方法介绍

判断一个 list 是否为空 传统的方式: if len(mylist): # Do something with my list else: # The list is e...

pandas pivot_table() 按日期分多列数据的方法

如下所示: date 20170307 20170308 iphone4 2...

与Django结合利用模型对上传图片预测的实例详解

1 预处理 (1)对上传的图片进行预处理成100*100大小 def prepicture(picname): img = Image.open('./media/pic/' +...

opencv3/Python 稠密光流calcOpticalFlowFarneback详解

opencv3/Python 稠密光流calcOpticalFlowFarneback详解

光流是由物体或相机的运动引起的图像对象在两个连续帧之间的视在运动模式.光流方法计算在t和 t+Δtt+Δt时刻拍摄的两个图像帧之间的每个像素的运动位置。这些方法被称为差分,因为它们基于图...

numpy数组之存取文件的实现示例

将 numpy 数组存入文件,有多种文件类型可供选择,对应地就有不同的方法来读写。 下面我将介绍读写 numpy 的三类文件: txt 或者 csv 文件 npy 或者 npz...