如何用python统计一个路径下的文件总数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python统计一个路径下的文件总数相关的知识,希望对你有一定的参考价值。
刚好刚才写了一个
def get_dir_info(dir_path, deep=0, info=None):if info is None:
info = 'deep': 0, 'deep_dir': '', 'file_num': 0, 'dir_num': 0
if deep > info['deep']:
info['deep'] = deep
info['deep_dir'] = dir_path
file_list = os.listdir(dir_path)
for file in file_list:
file_path = os.path.join(dir_path, file)
if os.path.isdir(file_path):
info['dir_num'] += 1
get_dir_info(file_path, deep=deep+1, info=info)
else:
info['file_num'] += 1
if deep == 0:
return info
if __name__ == '__main__':
dir_path = "D:\\\\Tools\\\\WebStorm2016\\\\plugins"
s = time.time()
d = get_dir_info(dir_path)
print("".format(time.time() - s))
print(d)
# 所有的深度是基于给出的文件夹统计的
# deep_dir比较鸡肋, 因为如果有多个相同深度的文件夹就会替换掉只剩一个
# 可以自行去掉这个功能
# deep: 最深的层数
# deep_dir: 最深的路径名称
# dir_num: 文件夹数量
# file_num: 文件数量
'''
0.21001195907592773
'deep': 12, 'deep_dir': 'D:\\\\Tools\\\\WebStorm2016\\\\plugins\\\\spy-js\\\\server\\\\node_modules\\\\istanbul\\\\node_modules\\\\resolve\\\\test\\\\resolver\\\\biz\\\\node_modules\\\\garply\\\\lib', 'file_num': 6325, 'dir_num': 1113
''' 参考技术A
参考技术B 统计当前目录下总共多少文件和文件夹,命令代码:
def file_count(dirname,filter_types=[]):'''Count the files in a directory includes its subfolder's files
You can set the filter types to count specific types of file'''
count=0
filter_is_on=False
if filter_types!=[]: filter_is_on=True
for item in os.listdir(dirname):
abs_item=os.path.join(dirname,item)
#print item
if os.path.isdir(abs_item):
#Iteration for dir
count+=file_count(abs_item,filter_types)
elif os.path.isfile(abs_item):
if filter_is_on:
#Get file's extension name
extname=os.path.splitext(abs_item)[1]
if extname in filter_types:
count+=1
else:
count+=1
return count
:
find
.
|wc
-l
得出来的数字-1就是了
如果只是统计当前目录下的文件,不统计子文件夹下的文件,那命令是
ls
-l
|wc
-l
得出来的数字-1 参考技术C 统计当前目录下总共多少文件和文件夹,命令
:
find
.
|wc
-l
得出来的数字-1就是了
如果只是统计当前目录下的文件,不统计子文件夹下的文件,那命令是
ls
-l
|wc
-l
得出来的数字-1
以上是关于如何用python统计一个路径下的文件总数的主要内容,如果未能解决你的问题,请参考以下文章
如何用Python判断指定路径下的文件是文件夹还是文件(for循环写法总结)