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

yipeiwu_com6年前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基于递归实现电话号码映射功能示例

本文实例讲述了Python基于递归实现电话号码映射功能。分享给大家供大家参考,具体如下: 问题 电话按键上面的每个数字都对应着几个字母,如果按下一个数字键代表输入一个字母,那么输入一个数...

python正向最大匹配分词和逆向最大匹配分词的实例

正向最大匹配 # -*- coding:utf-8 -*- CODEC='utf-8' def u(s, encoding): 'converted other enco...

Pandas DataFrame数据的更改、插入新增的列和行的方法

Pandas DataFrame数据的更改、插入新增的列和行的方法

一、更改DataFrame的某些值 1、更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。 2、需要注意的是,数据更改直接针对DataFrame原数据更改,...

把JSON数据格式转换为Python的类对象方法详解(两种方法)

把JSON数据格式转换为Python的类对象方法详解(两种方法)

JOSN字符串转换为自定义类实例对象 有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下: {"Name": "...

python字符串切割:str.split()与re.split()的对比分析

1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。 >>> s1="aa bb cc" >>> s...