Python 检查文件夹大小是否大于特定大小的最快方法是什么?

Python 检查文件夹大小是否大于特定大小的最快方法是什么?,python,linux,shell,Python,Linux,Shell,在不实际计算文件夹大小的情况下,检查文件夹大小是否超出特定大小(如10MB、1GB、10GB等)的最快方法是什么。比如配额。Pythonic解决方案会很好,但标准UNIX实用程序也很受欢迎文件夹大小仍然是文件夹内容的总大小 您可以尝试从python调用du-s foldername,我不得不说这是不可能的。我不相信任何文件系统缓存文件夹的大小。无论你做什么,你都必须以某种方式在树上行走。使用du可能是最快的方法,因为这一切都将发生在C中 如果您知道预期或支持的最大文件大小,您可以通过计算每个文件

在不实际计算文件夹大小的情况下,检查文件夹大小是否超出特定大小(如10MB、1GB、10GB等)的最快方法是什么。比如配额。Pythonic解决方案会很好,但标准UNIX实用程序也很受欢迎

文件夹大小仍然是文件夹内容的总大小


您可以尝试从python调用
du-s foldername
,我不得不说这是不可能的。我不相信任何文件系统缓存文件夹的大小。无论你做什么,你都必须以某种方式在树上行走。使用
du
可能是最快的方法,因为这一切都将发生在C中


如果您知道预期或支持的最大文件大小,您可以通过计算每个文件夹中的实体来进行一些优化,而不是在没有足够的文件满足限制的情况下计算大小和快捷方式。

您可以使用
du-sb
,它仍然需要计算文件夹大小。例如

threshold=1024000 #bytes
path="/your/path"
s=$(du -sb "$path")
set -- $s
size=$1
if [ "$size" -gt $threshold ];then
    echo "size of $path greater than $threshold"
fi
例如:

size, within_limit = getsize_limited(os.getcwd(), limit=10**6)
可能重复
size, within_limit = getsize_limited(os.getcwd(), limit=10**6)