如何从Python文件路径列表确定文件总大小?

问题描述 投票:1回答:1

[我正在尝试编写一个程序,该程序告诉我台式机(以及台式机下的每个目录)中所有.png文件的文件大小,并尝试了此操作:

import os, sys
rootdir = sys.argv[0]
png = []
for root, dirs, files in os.walk('/users/me/desktop'):
    for f in files:
        if os.path.splitext(f)[1] in ['.png']:
            png.append(os.path.join(root,f))
png_list = png
png_sizes = os.path.getsize(png_list)
print(png_sizes)

但是我收到以下错误消息:

TypeError: stat: path should be string, bytes, os.PathLike or integer, not list

并且不确定如何解决此问题。有人有主意吗?

python-3.x list filesize
1个回答
1
投票

os.path.getsize接受路径,而不是路径列表。您可以像这样对列表中的大小求和:

png_sizes = sum((os.path.getsize(p) for p in png_list))
© www.soinside.com 2019 - 2024. All rights reserved.