python - 仅在使用 python 的目录中获取第一个文件夹的名称
问题描述
我正在尝试遍历一个文件夹,在其中,我将拥有多个其他文件夹,每个文件夹都可以包含其他子文件夹。树的一个例子可能是:
Dataset_Directory
| Folder A
| Folder B
| Folder C
| Folder D
| Folder D1
| Folder D1
我想要做的是只得到男人 4 个犯规者,即 A、B、C、D 并忽略任何子文件夹。
我的代码:
folders = [os.path.basename(os.path.normpath(x[0])) for x in os.walk(
app.config['DATASET_DIRECTORY']) if x[0] != 'static\Dataset_Directory']
for folder in folders:
print(folder)
这将输出列表中的所有文件夹和子文件夹,因为 os.walk 从目录树中获取所有内容。输出如下:
Folder A
Folder B
Folder C
Folder D
Folder D1
Folder D2
我想要达到的只是
Folder A
Folder B
Folder C
Folder D
关于如何阻止它阅读子文件夹的任何建议?提前致谢。
解决方案
您还可以使用 pathlib 库,如下所示:
from pathlib import Path
print([x.name for x in Path('Dataset_Directory').iterdir() if x.is_dir()])
产量:
['Folder A', 'Folder C', 'Folder D', 'Folder B']
推荐阅读
- r - lm() 循环遍历因子变量,同时从模型中删除单级因子变量
- sql - 处理可选字段的非空值
- python - Pandas DataFrame - 混合日期格式
- firebase - Firebase 规则变量与字符串不匹配
- swiftui - 'self' 在所有存储的属性被初始化之前使用 SwiftUI
- c# - 连续感知器权重变化为零
- c++ - C++:用 2 个不同的变量分配 2 个构造函数不起作用
- android - 如何为 actions.intent.OPEN_APP_FEATURE 添加一个 URL 参数到 {@url}?
- python - 计算数字列表列表的平均值
- sql - Oracle - 如何将逗号分隔的列表转换为行?