from ctypes import *
import time
import win32file
run = True
logfile = open('.\\log.out','w+');#open log file
input = raw_input("Input a string for disk name like \'d:\' or other:")#input a disk name
while run:
sectorsPerCluster, bytesPerSector, numFreeClusters, totalNumClusters = \
win32file.GetDiskFreeSpace(input)
freespace = (numFreeClusters * sectorsPerCluster * bytesPerSector) /(1024 * 1024)#get free space
logfile.write("%s %s FreeSpace is %d MBytes\n" % (time.asctime(),input,freespace));#write log
print time.asctime(),input,"FreeSpace is",freespace,"MBytes"#output to screen
time.sleep(3)#wait 3 second
logfile.close();#close log file

运行环境:python-2.7.3 + pywin32-218.win32-py2.7
本文介绍了一个使用Python脚本持续监测指定磁盘分区空闲空间的方法。通过调用`win32file.GetDiskFreeSpace`函数,可以获取磁盘的簇大小、每簇扇区数、可用簇数量及总簇数等信息,并据此计算出空闲空间的大小。
4万+

被折叠的 条评论
为什么被折叠?



