參考:https://www.iteye.com/blog/halfish-1706810
環境:
Python: 3.6
系統:server 2016
設計模塊包:wmi #pip install wmi
import wmi def get_disk_info(): """ 獲取物理磁盤信息。 """ tmplist = [] c = wmi.WMI() for physical_disk in c.Win32_DiskDrive(): tmpdict = {} tmpdict["Caption"] = physical_disk.Caption tmpdict["Size"] = int(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"] = int(logical_disk.Size) / 1024 / 1024 / 1024 tmpdict["UseSpace"] = (int(logical_disk.Size) - int(logical_disk.FreeSpace)) / 1024 / 1024 / 1024 tmpdict["FreeSpace"] = int(logical_disk.FreeSpace) / 1024 / 1024 / 1024 tmpdict["Percent"] = int( 100.0 * (int(logical_disk.Size) - int(logical_disk.FreeSpace)) / int(logical_disk.Size)) tmplist.append(tmpdict) return tmplist if __name__ == "__main__": disk = get_disk_info() print(disk) #獲取磁盤信息 fs = get_fs_info() for f in fs: disk_name = f['Caption'] #磁盤名 DiskTotal = f['DiskTotal'] #磁盤大小 單位G disk_UseSpace = f['UseSpace'] #已用磁盤大小 單位G disk_FreeSpace = f['FreeSpace'] #剩余可用磁盤大小 單位G print('磁盤名:{} 磁盤大小:{}G 已用空間:{}G 剩余可用空間:{}G !!'.format(disk_name,round(DiskTotal,2),round(disk_UseSpace,2),round(disk_FreeSpace,2)))