获取当前目录中所有子目录的列表
Posted
技术标签:
【中文标题】获取当前目录中所有子目录的列表【英文标题】:Getting a list of all subdirectories in the current directory 【发布时间】:2010-11-01 16:32:00 【问题描述】:有没有办法在 Python 中返回当前目录中所有子目录的列表?
我知道您可以对文件执行此操作,但我需要获取目录列表。
【问题讨论】:
docs.python.org/3.4/library/os.html?highlight=os#os.listdirdocs.python.org/3.4/library/os.path.html#os.path.isdir 如果您正在寻找 pathlib 解决方案,请执行[f for f in data_path.iterdir() if f.is_dir()]
信用:***.com/a/44228436/1601580。这为您提供了字符串文件夹名称。不知何故,它也排除了 .
和 ..
感谢上帝。 Glob 解决方案也很有价值:glob.glob("/path/to/directory/*/")
.
【参考方案1】:
这应该可以工作,因为它还创建了一个目录树;
import os
import pathlib
def tree(directory):
print(f'+ directory')
print("There are " + str(len(os.listdir(os.getcwd()))) + \
" folders in this directory;")
for path in sorted(directory.glob('*')):
depth = len(path.relative_to(directory).parts)
spacer = ' ' * depth
print(f'spacer+ path.name')
这应该列出使用pathlib
库的文件夹中的所有目录。 path.relative_to(directory).parts
获取相对于当前工作目录的元素。
【讨论】:
【参考方案2】:import os
path = "test/"
files = [x[0] + "/" + y for x in os.walk(path) if len(x[-1]) > 0 for y in x[-1]]
【讨论】:
以上是关于获取当前目录中所有子目录的列表的主要内容,如果未能解决你的问题,请参考以下文章