查看文件夹内各文件数目

简介: 1 """ 2 This script shows how to count all files in a specific directory. 3 """ 4 5 import os 6 from collections import Counter 7 8 DIR = "...
 1 """
 2 This script shows how to count all files in a specific directory.
 3 """
 4 
 5 import os
 6 from collections import Counter
 7 
 8 DIR = "/home/robin/Documents/landmark/dataset/300VW_Dataset_2015_12_14"
 9 
10 
11 def get_extention(file_name=None):
12     """
13     Return the file name extention, or None if the file doesn't have one.
14     """
15     crumbs = file_name.split(".")
16     crumbs_num = len(crumbs)
17     if crumbs_num == 1:
18         return None
19     else:
20         return crumbs[-1]
21 
22 
23 def count_files(directory=None):
24     """
25     Count all files in directory, and return the dict contains the result.
26     """
27     file_extentions = []
28     none_extentions_num = 0
29     for _, _, files in os.walk(directory):
30         for file in files:
31             extention = get_extention(file)
32             if extention is None:
33                 none_extentions_num += 1
34             else:
35                 file_extentions.append(extention)
36     ext_counter = Counter(file_extentions)
37     if none_extentions_num != 0:
38         ext_counter.update({"None": none_extentions_num})
39     return ext_counter
40 
41 
42 def main():
43     """
44     The main entrance.
45     """
46     extention_dict = dict(count_files(DIR))
47     total_count = sum(extention_dict.values())
48     print("Total files:", total_count)
49     for _, name in enumerate(extention_dict):
50         print(name+":", extention_dict[name], end='; ')
51     print("Done!")
52 
53 
54 if __name__ == '__main__':
55     main()

查看文件夹内各文件数目

目录
相关文章
开源项目推荐:3D重建开源库Colmap/OpenMVG/OpenMVS/Fade2D/2.5D
开源项目推荐:3D重建开源库Colmap/OpenMVG/OpenMVS/Fade2D/2.5D
792 0
|
NoSQL Redis Windows
windows版redis报错:本地计算机上的Redis服务启动后停止
1问题 2 原因 3解决 3.1 如果需要临时启动Redis 3.2 如果需要将Redis注册为服务 4其他说明 1、问题 使用命令redis-server.exe  --service-install redis.windows.conf命令将redis注册为服务,启动服务时报错: 本地计算机上的Redis服务启动后停止。
2365 0
|
关系型数据库 MySQL 数据库
【MySQL进阶之路 | 基础篇】排序(ORDER BY)与分页(LIMIT)
【MySQL进阶之路 | 基础篇】排序(ORDER BY)与分页(LIMIT)
|
Java 测试技术 Maven
成功解决:nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
这篇文章介绍了解决Spring框架中出现的`java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource`错误的步骤,指出错误原因是缺少`spring-aop`模块的jar包,并提供了通过Maven依赖或手动添加jar包到项目中的方法来解决这个问题。
成功解决:nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
|
11月前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
282 2
|
Linux iOS开发 MacOS
[已解决]ModuleNotFoundError: No module named ‘tqdm‘
[已解决]ModuleNotFoundError: No module named ‘tqdm‘
|
人工智能 安全 物联网
2024年6月后2周重要的大语言模型论文总结:LLM进展、微调、推理和对齐
本文总结了2024年6月后两周发表的一些最重要的大语言模型论文。这些论文涵盖了塑造下一代语言模型的各种主题,从模型优化和缩放到推理、基准测试和增强性能。
501 0
|
XML SQL JSON
query 与 params:选择正确的参数传递方式
query 与 params:选择正确的参数传递方式
|
C# C++
C#如何打包EXE程序生成setup安装文件
项目结束之后,有需要将winForm程序打包成.exe文件提供给用户。这里记录一下打包过程。
2111 0
C#如何打包EXE程序生成setup安装文件
|
XML Java API
【解惑】Android Support 和 AndroidX
刚来这家公司时,正好赶上项目AndroidX迁移,踩了一些坑,记了些笔记,整理一下发一波~
759 0