[我正在尝试编写一个程序,该程序告诉我台式机(以及台式机下的每个目录)中所有.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
并且不确定如何解决此问题。有人有主意吗?
os.path.getsize
接受路径,而不是路径列表。您可以像这样对列表中的大小求和:
png_sizes = sum((os.path.getsize(p) for p in png_list))