Java与Python统计文件夹及子文件夹下文件个数

package dang;

import java.io.File;


/**
 * @ClassName:       FileCount
 * @Description:    TODO()
 * @author:            dangjinhu
 * @date:            2018年11月1日        下午2:24:58
 */

public class FileCount {  
      
    public static void main(String[] args) {  
        int[] array = new int[]{0,0};  
        print(new File(args[0]),1,array);  
        System.out.println("该目录下面共有文件夹个数:"+array[0]);  
        System.out.println("该目录下面共有文件个数:"+array[1]);  
    }  
      
    /** 
     * 打印指定文件夹下面的文件夹和文件的名字,统计该文件夹下面的文件夹数量和文件数量 
     * @param file 根文件夹 
     * @param level 深度从1开始算 
     * @param array 存放统计个数的数据,[0]文件夹个数,[1]文件个数 
     */                                                                                                                                     
    public static void print(File file,int level,int[] array){  
        if(file.isDirectory()){  
            array[0]++;  
            File[] files = file.listFiles();  
            for (File item : files) {  
                print(item,level+1,array);  
            }     
        }else{  
            array[1]++; 
            System.err.println(array[1]);
        }  
    }  
}  
# @Author  : 党金虎
#!/usr/bin/python3
#coding:utf-8
"""

TODO:

"""
# @Author  : 党金虎
# @Time    : 2018/11/2 17:09
# @FileName: filecount.py

import os

path = '/...'  # 获取当前路径
print(path)
num_dirs = 0  # 路径下文件夹数量
num_files = 0  # 路径下文件数量(包括文件夹)
num_files_rec = 0  # 路径下文件数量,包括子文件夹里的文件数量,不包括空文件夹

for root, dirs, files in os.walk(path):  # 遍历统计
    for each in files:
        if each[-2:] == '.o':
            print
            root, dirs, each
        num_files_rec += 1
        print(num_files_rec)
    for name in dirs:
        num_dirs += 1
        print
        os.path.join(root, name)

for fn in os.listdir(path):
    num_files += 1
    print
    fn

print(num_dirs)
print(num_files)
print(num_files_rec)

 Linux下统计文件个数,100多万数据,深度2,平均一分钟统计20000个文件

猜你喜欢

转载自www.cnblogs.com/dangjinhu/p/dangjinhu.html