本文实例讲述了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程序设计有所帮助。