美文网首页python
统计文件个数

统计文件个数

作者: 迷糊银儿 | 来源:发表于2019-05-29 22:18 被阅读0次

    1.【linux命令】 统计一个文件夹下有多少个文件

    ls -l | grep '^-' | wc -l
    
    1. python实现:非递归,只能查询到当前文件夹下的,不能查询到二级目录下的
    import os
    dirnum = 0
    filenum = 0
    path = '/Users/qufang01/test'
    
    for lists in os.listdir(path):
        sub_path = os.path.join(path, lists)
        print(sub_path)
        if os.path.isfile(sub_path):
            filenum = filenum + 1
        if os.path.isdir(sub_path):
            dirnum = dirnum + 1
    
    print('dirnum', dirnum)
    print('filenum', filenum)
    

    3.统计当前目录及子目录下的文件

    import os
    fileDir = '/Users/qufang01/test'
    filenum = 0
    dirnum = 0
    for dirpath, dirnames, filenames in os.walk(fileDir):
        for file in filenames:
            filenum = filenum + 1
        for dir in dirnames:
            dirnum = dirnum + 1
    print('filenum:', filenum)
    print('dirnum:', dirnum)
    

    p.s. os.walk的用法:
    主要用来遍历一个目录内各个子目录和子文件。

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

    可以得到一个三元tupple(dirpath, dirnames, filenames)
    第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
    dirpath 是一个string,代表目录的路径,
    dirnames 是一个list,包含了dirpath下所有子目录的名字。
    filenames 是一个list,包含了非目录文件的名字。
    如:

    test文件夹
    test1文件夹
    代码:
    import os
    fileDir = '/Users/qufang01/test'
    for dirpath, dirnames, filenames in os.walk(fileDir):
        print('dirpath:', dirpath)
        print('dirnames:', dirnames)
        print('filenames', filenames)
    
    运行结果

    相关文章

      网友评论

        本文标题:统计文件个数

        本文链接:https://www.haomeiwen.com/subject/lizutctx.html