【发布时间】:2013-05-30 09:44:51
【问题描述】:
试图创建一个函数,返回找到目录及其子目录的文件数。只是需要帮助开始
【问题讨论】:
试图创建一个函数,返回找到目录及其子目录的文件数。只是需要帮助开始
【问题讨论】:
单线
import os
cpt = sum([len(files) for r, d, files in os.walk("G:\CS\PYTHONPROJECTS")])
【讨论】:
使用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)
【讨论】:
只需添加一个处理目录的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
【讨论】:
os.path.isdir 在 Ubuntu 上为我工作,而不是 os.path.isfolder。