消费最多空间的前5个文件夹?

时间:2011-07-19 14:26:41

标签: python

我的硬盘已满。

找出占用磁盘空间最多的TOP 5 FOLDERS的最简单方法是什么?

非常感谢python解决方案。我使用Ubuntu Linux

4 个答案:

答案 0 :(得分:3)

不是python解决方案,但使用shell的是使用du。要列出/ var /下每个文件夹中的千字节数,然后按大小排序最后一个,请在shell提示符下运行以下命令:

du -k --max-depth 1 /var/|sort -n

如果你想在python下使用它,请使用always super-handy子进程模块:

import subprocess
p = subprocess.Popen(["/usr/bin/du", "-k", "--max-depth", "1"], stdout=subprocess.PIPE)
(output, stderr) = p.communicate()

按换行符分割输出,然后按制表符分类,然后排序,你将得到python中的结果。

答案 1 :(得分:2)

不是Python解决方案而不是代码示例: http://www.jgoodies.com/freeware/jdiskreport/index.html

答案 2 :(得分:1)

一个简单而纯粹的python解决方案:

import os

def get_folder_size(folder_path):
    folder_size = 0
    for (path, dirs, files) in os.walk(folder_path):
        for file in files:
            filename = os.path.join(path, file)
            folder_size += os.path.getsize(filename)
    return folder_size

def get_file_size(file):
    return os.path.getsize(file)

print get_folder_size("/home/magnun")
print get_file_size("/home/magnun/background.png")

此函数以字节为单位返回大小(长类型),您可能需要将其转换为MBytes,GBytes等。

答案 3 :(得分:0)

您可以检查每个文件夹的属性,并查找其中文件的总大小。在Ubuntu中,只需右键单击该文件夹,单击属性并检查内容大小。不是python解决方案,但更容易(并非所有东西都需要脚本来找到答案)。最大的文件夹可能是树顶的文件夹。