本文实例讲述了Python实现获取磁盘剩余空间的2种方法。分享给大家供大家参考,具体如下:
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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' )
|
运行效果如下图:
希望本文所述对大家Python程序设计有所帮助。