[python] 察看磁盘空间
2009-02-06 15:52:15| 分类:
lang_python
| 标签:
|举报
|字号大中小 订阅
========= For UNIX =========
不过似乎有问题,怎么计算都不对。
import os
import statvfs
def free_bytes(path):
stats = os.statvfs(path)
return stats[statvfs.F_BSIZE] * stats[statvfs.F_BFREE]
def avail_bytes(path):
stats = os.statvfs(path)
return stats[statvfs.F_BSIZE] * stats[statvfs.F_BAVAIL]
def human_read(bytes):
MB = bytes / (1024*1024)
GB = MB / 1024
MB = MB % 1024
return "%dG %dM" % (GB, MB)
if __name__ == '__main__':
import sys
for path in sys.argv[1:]:
print "%s:" % path,
print "%s free," % human_read(free_bytes(path)),
print "%s available" % human_read(avail_bytes(path))
========= For Win32 =========
import win32file
sectorsPerCluster, bytesPerSector, numFreeClusters, totalNumClusters = win32file.GetDiskFreeSpace("c:\\")
print "FreeSpace: ", (numFreeClusters * sectorsPerCluster * bytesPerSector) / (1024 * 1024), "MB"
ps.
貌似 module statvfs 在 py3000 中要被清除了,http://docs.python.org/library/statvfs.html
module win32file 需要自己安装一个 extension,http://sourceforge.net/projects/pywin32/
评论这张
转发至微博
转发至微博
评论