方法1:
import ctypes import os import platform import sys def get_free_space_mb(folder): """ Return folder/drive free space (in bytes) """ if platform.system() == 'Windows': free_bytes = ctypes.c_ulonglong(0) ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(folder), None, None, ctypes.pointer(free_bytes)) return free_bytes.value/1024/1024/1024 else: st = os.statvfs(folder) return st.f_bavail * st.f_frsize/1024/1024 print(get_free_space_mb('C:\\'),'GB')
方法2:
import win32com.client as com def TotalSize(drive): """ Return the TotalSize of a shared drive [GB]""" try: fso = com.Dispatch("Scripting.FileSystemObject") drv = fso.GetDrive(drive) return drv.TotalSize/2**30 except: return 0 def FreeSpace(drive): """ Return the FreeSpace of a shared drive [GB]""" try: fso = com.Dispatch("Scripting.FileSystemObject") drv = fso.GetDrive(drive) return drv.FreeSpace/2**30 except: return 0 workstations = ['dolphins'] print ('Hard drive sizes:') for compName in workstations: drive = '\\\\' + compName + '\\c$' print ('*************************************************\n') print (compName) print ('TotalSize of %s = %f GB' % (drive, TotalSize(drive))) print ('FreeSpace on %s = %f GB' % (drive, FreeSpace(drive))) print ('*************************************************\n')
运行效果如下图:
本文章地址http://www.vzeo.com/news/xuetang/800616.html 由 友站网 编辑整理,转载请注明出处