尝试创建一个函数,该函数返回找到目录及其子目录的文件数。只需要帮助入门
答案 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