python

统计文件个数

2019-05-29  本文已影响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)
运行结果
上一篇 下一篇

猜你喜欢

热点阅读