我想创建一个包含名称中包含“HICU-B”的所有子目录的列表。只有目录没有文件(父目录中的一些文件也包含此文件)。
我想知道是否有一种方法可以将 glob
和 os.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/