【发布时间】:2011-04-15 17:15:27
【问题描述】:
我正在尝试编写一些 Python 代码,它将遍历当前工作目录中的每个目录并报告每个目录下的总大小(以字节为单位),而不管每个目录本身有多深。
这只是一个学习项目,我意识到已经有其他方法可以通过 shell 获取这些信息。这是我到目前为止的一些代码:
# get name of current working directory
start_directory = os.getcwd()
# create dictionary to hold the size of each folder in
# the current working directory
top_level_directory_sizes = {}
# initialize directory
for i in os.listdir(start_directory):
if os.path.isdir(i):
top_level_directory_sizes[i] = 0
# traverse all paths from current working directory
for dirpath, dirnames, filenames in os.walk(start_directory):
for f in filenames:
fp = os.path.join(dirpath, f)
#increment appropriate dictionary element: += os.path.getsize(fp)
for k,v in top_level_directory_sizes.iteritems():
print k, v
所以输出应该是这样的:
algorithms 23,754 bytes
articles 1,234 bytes
books 123,232 bytes
images 78,232 bytes
total 226,452 bytes
【问题讨论】: