在我的文件夹中,有两种类型的文件:html
和txt
。
我想知道txt
个文件的总大小。
我找到了这段代码,但是如何根据我的需要应用它呢?
import os
from os.path import join, getsize
size = 0
count = 0
for root, dirs, files in os.walk(path):
size += sum(getsize(join(root, name)) for name in files)
count += len(files)
print count, size
答案 0 :(得分:2)
您可以通过在以下理解中添加if
来限定哪些文件:
for root, dirs, files in os.walk(path):
size += sum(getsize(join(root, name)) for name in files if name.endswith('.txt'))
count += sum(1 for name in files if name.endswith('.txt'))
print count, size
答案 1 :(得分:1)
最好使用glob(https://docs.python.org/3/library/glob.html)代替os来查找文件。这使它更具可读性。
import glob
import os
path = '/tmp'
files = glob.glob(path + "/**/*.txt")
total_size = 0
for file in files:
total_size += os.path.getsize(os.path.join(path, file))
print len(files), total_size