以下是一个示例代码,用于遍历Windows分区中的空闲字节:
import ctypes
# 定义Windows API函数的原型
GetDiskFreeSpaceEx = ctypes.windll.kernel32.GetDiskFreeSpaceExW
# 定义结构体来存储空闲字节信息
class DiskFreeSpace(ctypes.Structure):
_fields_ = [
('FreeBytesAvailable', ctypes.c_ulonglong),
('TotalNumberOfBytes', ctypes.c_ulonglong),
('TotalNumberOfFreeBytes', ctypes.c_ulonglong)
]
# 获取分区的空闲字节信息
def get_disk_free_space(path):
free_space = DiskFreeSpace()
result = GetDiskFreeSpaceEx(ctypes.c_wchar_p(path), None, None, ctypes.pointer(free_space))
if result == 0:
raise ctypes.WinError()
return free_space
# 遍历所有分区并打印空闲字节信息
def traverse_partitions():
drives = ctypes.windll.kernel32.GetLogicalDrives()
mask = 1
for letter in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
if drives & mask:
path = f"{letter}:\\"
try:
free_space = get_disk_free_space(path)
print(f"分区 {path} 中的空闲字节:{free_space.FreeBytesAvailable}")
except OSError as e:
print(f"无法获取分区 {path} 的空闲字节信息:{e}")
mask <<= 1
# 调用遍历分区的函数
traverse_partitions()
这个代码使用了ctypes模块来调用Windows API函数GetDiskFreeSpaceEx
来获取分区的空闲字节信息。然后,通过遍历所有的逻辑驱动器来获取每个分区的路径,并调用get_disk_free_space
函数来获取空闲字节信息。最后,将空闲字节信息打印出来。
上一篇:遍历分割单元格
下一篇:遍历分析工具库中的特定JS代码