我的硬盘已满。
找出占用磁盘空间最多的TOP 5 FOLDERS的最简单方法是什么?
非常感谢python
解决方案。我使用Ubuntu Linux
。
答案 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解决方案,但更容易(并非所有东西都需要脚本来找到答案)。最大的文件夹可能是树顶的文件夹。