Skip to content

Instantly share code, notes, and snippets.

@bussiere
Created August 13, 2010 13:30
Show Gist options
  • Save bussiere/522886 to your computer and use it in GitHub Desktop.
Save bussiere/522886 to your computer and use it in GitHub Desktop.
#Return Free Space of a diwk in % and in size
import string
import win32api
import win32file
def PrintSpaceReport(drive):
sectorsPerCluster, bytesPerSector, numFreeClusters, totalNumClusters = win32file.GetDiskFreeSpace(drive + ":\\")
sectorsPerCluster = long(sectorsPerCluster)
bytesPerSector = long(bytesPerSector)
numFreeClusters = long(numFreeClusters)
totalNumClusters = long(totalNumClusters)
used = (((totalNumClusters - numFreeClusters ) * sectorsPerCluster * bytesPerSector) / (1024.0 * 1024.0))
total = ((totalNumClusters * sectorsPerCluster *bytesPerSector) / (1024.0 * 1024.0))
return (used/total)*100.0
def freespace(drive):
try :
sectorsPerCluster, bytesPerSector, numFreeClusters, totalNumClusters = win32file.GetDiskFreeSpace(drive + ":\\")
sectorsPerCluster = long(sectorsPerCluster)
bytesPerSector = long(bytesPerSector)
numFreeClusters = long(numFreeClusters)
totalNumClusters = long(totalNumClusters)
free = str((numFreeClusters * sectorsPerCluster *bytesPerSector) / (1024 * 1024))
return "%s MB"%str(free)
except :
return "Ejected"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment