python - 计算 Python 中子目录或文件的数量
问题描述
所以我需要计算目录中的子目录数量或文件数量(取决于用户想要做什么)(递归和非递归)。我是用 C# 做的,但我对 Python 很陌生。我找到了这个:
(len([f for f in os.listdir(directory)]))
但是这段代码计算了目录中的所有内容(文件、子目录),而我只需要子目录或文件,但不需要它们在一起。有解决这个问题的功能吗?提前感谢所有回复!
解决方案
使用 pathlib 的 glob 方法:
from pathlib import Path
path = Path(your_path)
num_of_sub_dirs, num_of_files = 0, 0
# if you want to check inside sub-directories as well, then use path.rglob('*')
for f in path.glob('*'):
print(f.name)
if f.is_dir():
num_of_sub_dirs += 1
if f.is_file():
num_of_files += 1
print(num_of_sub_dirs, num_of_files)
推荐阅读
- sql - 在 SSIS 字符串参数中执行 SQL 任务
- amazon-web-services - 如何使用boto3在不同账户的安全组之间添加安全组规则?
- c# - 两个同名型号?
- gradle - Gradle 多模块
- sql - 将 AD 日期转换为日期,然后搜索特定日期
- sparql - 如何在 SPARQL 中有效地设计嵌套的 OPTIONAL 子句
- concurrency - 与 Java 8 Streams 并行映射到多个映射
- r - 从 DocumentTermMatrix 中删除停止短语
- swift - 如何从 MTKView 无缝切换到 UIView 显示
- angular - angular typescript observable 中的 HTTP 响应加载非常慢