用於獲取磁盤剩余空間.
import os
import platform
import ctypes
def get_free_space_mb(folder):
"""
獲取磁盤剩余空間
:param folder: 磁盤路徑 例如 D:\\
:return: 剩余空間 單位 G
"""
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