擅长:python、mysql、java
<p>如果您正在寻找一个最大的文件夹,我不明白为什么您需要<code>os.walk</code>,也就是说,在整个目录中进行累赘的递归搜索。你的父文件夹显然会比里面的文件夹大。另外,<code>os.path.getsize</code>不能用于文件夹,也就是说,这不是递归计算大小,而是只返回文件夹的大小(更多信息<a href="https://stackoverflow.com/a/10404634/5023889">here</a>)。你知道吗</p>
<p>为了简洁起见,可以使用<code>pathlib.Path</code>标准库。你知道吗</p>
<pre><code>from pathlib import Path
import operator
root = "/path/to/root/dir/"
p = Path(root)
folder_size_dict = {}
# Iterate through all folders
for subdir in p.iterdir():
# Calculate recursively the size for each subdir
subdir_size = sum(f.stat().st_size for f in subdir.glob('**/*') if f.is_file())
folder_size_dict[subdir] = subdir_size
# Get folder (key) with largest size (value)
largest_folder = max(folder_size_dict.items(), key=operator.itemgetter(1))[0]
print(f"Largest folder: {largest_folder} with size {folder_size_dict[largest_folder]}"
</code></pre>
<p>希望这有帮助。你知道吗</p>