返回目录和子目录中的文件数

时间:2013-06-04 05:22:05

标签: python recursion

尝试创建一个函数,该函数返回找到目录及其子目录的文件数。只需要帮助入门

3 个答案:

答案 0 :(得分:51)

One-liner

import os
cpt = sum([len(files) for r, d, files in os.walk("G:\CS\PYTHONPROJECTS")])

答案 1 :(得分:19)

使用os.walk。它会为你做递归。有关示例,请参阅http://www.pythonforbeginners.com/code-snippets-source-code/python-os-walk/

total = 0
for root, dirs, files in os.walk(folder):
    total += len(files)

答案 2 :(得分:4)

只需添加一个elif语句来处理目录:

def fileCount(folder):
    "count the number of files in a directory"

    count = 0

    for filename in os.listdir(folder):
        path = os.path.join(folder, filename)

        if os.path.isfile(path):
            count += 1
        elif os.path.isfolder(path):
            count += fileCount(path)

    return count