python 搜索子目录

标签 python linux glob os.walk

我想创建一个包含名称中包含“HICU-B”的所有子目录的列表。只有目录没有文件(父目录中的一些文件也包含此文件)。

我想知道是否有一种方法可以将 globos.walk() 结合在一起来实现这一点。或者是否有其他方法可以解决此问题。

这是我目前的代码:

这会获取包含我想要的文本的文件和目录。

dirstext=glob.glob('/data01/HICU-B*')

这会获取目录。

dirs=next(os.walk('/data01'))[1]

我不知道如何将它们组合起来只得到名称中带有“HICU-B”的目录,而不是文件。

想法?

最佳答案

HICU-B* 的末尾附加一个斜杠 '/':

dirstext = glob.glob('/data01/HICU-B*/')

这将仅返回名称以 HICU-B* 开头的目录,同时将排除文件。

如果您需要遍历匹配目录以返回它们的所有子目录和文件,您可以这样做:

dirs = [list(i) for i in map(os.walk, dirstext)]

关于python 搜索子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37972065/

相关文章:

python - 如何在 Python 中高效地对大型矩阵执行网格搜索?

python - Python : as a result matematical formula 中的拉格朗日插值

linux - Google chrome 与 oracle-xe 的内核参数冲突

linux - 为每个通配符匹配创建命令替换

Python argv 采用通配符路径

python - 有效地找到字符串列表中的所有子字符串

python - 垂直对齐 str 到相反的水平序列

linux - 无法写入/sys/kernel/以在 OVH CentOS 7 上禁用 MongoDB 的透明大页面 (THP)

使用 glob 排除 index.php 的 PHP 代码