【发布时间】:2018-02-06 17:41:37
【问题描述】:
以下是代码
import os
def get_size(path):
total_size = 0
for root, dirs, files in os.walk(path):
for f in files:
fp = os.path.join(root, f)
total_size += os.path.getsize(fp)
return total_size
for root,dirs,files in os.walk('F:\House'):
print(get_size(dirs))
输出:
F:\House 21791204366
F:\House\house md 1832264906
F:\House\house md\house M D 1 1101710538
F:\House\Season 2 3035002265
F:\House\Season 3 3024588888
F:\House\Season 4 2028970391
F:\House\Season 5 3063415301
F:\House\Season 6 2664657424
F:\House\Season 7 3322229429
F:\House\Season 8 2820075762
我只需要主目录之后的子目录及其大小。我的代码一直到最后一个目录并写入它的大小。
举个例子:
F:\House 21791204366
F:\House\house md 1832264906
F:\House\house md\house M D 1 1101710538
它打印了house md 和house M D 1(house md 中的子目录)的大小。但我只想要它直到house md 子目录级别。
期望的输出: 我需要主目录级别(由用户指定)之后的每个子目录的大小,而不是子子目录(但它们的大小应包含在父目录中。)
我该怎么做?
【问题讨论】:
-
我不明白你在问什么。您的示例输出具有
F:\House\house md\house M D 1但您说您不想要它。期望的输出是什么? -
所需的输出 >> 我想要主目录级别之后的每个子目录的大小(由用户指定)而不是子子目录(但它们的大小应该包含在父目录中。)跨度>
-
请edit您的问题包含所需的输出。
标签: python python-3.x filesystems