Python - 计算目录中的文件和文件夹数

时间:2015-04-20 17:17:13

标签: python-2.7

我有一个删除整个目录及其子文件夹的python脚本,我想打印出删除的文件和文件夹的数量。目前,我已经从2010年提出的一个不同的问题中找到了一些代码,但我收到的答案是16 ...如果我右键单击该文件夹,则表明该文件包含152个文件,72个文件夹......

我目前检查目录的代码;

import os, getpass

user = getpass.getuser()
copyof = 'Copy of ' + user
directory = "C:/Documents and Settings/" + user
print len([item for item in os.listdir(directory)])

如何扩展它以显示实际存在的相同数量的文件和文件夹?

2 个答案:

答案 0 :(得分:3)

要执行递归搜索,您可以使用os.walk

  

os.walk(top,topdown = True,onerror = None,followlinks = False)

     

通过从上到下或从下到上走树来生成目录树中的文件名。对于以树为根的树中的每个目录   目录顶部(包括顶部本身),它产生一个3元组(dirpath,   dirnames,filenames)。

样本用法:

import os
dir_count = 0
file_count = 0
for _, dirs, files in os.walk(dir_to_list_recursively):
    dir_count += len(dirs)
    file_count += len(files) 

答案 1 :(得分:0)

我能够通过octoback使用以下代码解决这个问题(直接复制);

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