python使用wmi模組獲取windows下硬碟資訊
阿新 • • 發佈:2020-09-10
# -*- 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"): forlogical_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