目录中的python count size特定类型文件txt

时间:2017-05-29 19:34:18

标签: python file io size

在我的文件夹中,有两种类型的文件:htmltxt。 我想知道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

2 个答案:

答案 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