从特定目录中选择文件

亚当_G

我试图遍历子目录列表,并执行两个相关操作:

  • 仅选择与特定模式匹配的子目录,并保存该名称的一部分

  • 读取该子目录中的文件

我曾尝试调整此问题的答案,但仅打开某些子目录有困难。我知道我可以递归地执行此操作,在其中循环遍历每个文件,并使用来拉出其父目录Path.parent,但这也将进入我不感兴趣的目录。

我的文件结构如下:

002normal
|- names.txt
|- test.txt
002custom
|- names.txt
|- test.txt

我只希望以“普通”结尾的目录。然后,我将在该目录中读取名为“ names.txt”的文件。我已经尝试过以下类似的方法,但是没有运气。

import os
root_dir = "/Users/adamg/IM-logs"
for subdir, dirs, files in os.walk(root_dir):
    for f in files:
        print(subdir)
吹牛

您可以dirs就地修改列表,以过滤出名称不以结尾结尾的任何子目录,'normal'这样os.walk就不会遍历它们:

for subdir, dirs, files in os.walk(root_dir):
    dirs[:] = (name for name in dirs if name.endswith('normal'))
    if 'names.txt' in files:
        with open(os.path.join(subdir, 'names.txt')) as file:
            print(os.path.basename(subdir), file.read())

摘录自os.walk

topdown为is时True,调用者可以dirnames就地修改列表(可能使用del或切片分配),并且walk()仅递归到名称保留在的子目录中dirnames它可以用来简化搜索,强加特定的访问顺序,甚至可以walk()在调用者walk()再次恢复之前通知其创建或重命名的目录

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文件中选择目录

来自分类Dev

从目录中选择某些文件

来自分类Dev

从目录中选择某些文件

来自分类Dev

如何使SSIS在目录中选择特定文件并为变量分配名称(文件系统任务)

来自分类Dev

如何在目录中选择与特定名称过滤器匹配的文件?-PHP

来自分类Dev

如何从目录迭代器中选择特定文件并进行比较

来自分类Dev

从数据文件中选择特定的行

来自分类Dev

在Java中选择文件的特定类型

来自分类Dev

如何从文件中选择特定信息?Python

来自分类Dev

使用sed从文件中选择特定项目

来自分类Dev

在目录中选择性地gzip大文件

来自分类Dev

R根据CSV中的条件在工作目录中选择文件

来自分类Dev

R根据CSV中的条件在工作目录中选择文件

来自分类Dev

如何在Webpack中选择输出文件目录?

来自分类Dev

从json文件中选择一个特定的数组

来自分类Dev

从文本文件中选择特定文本,BASH脚本

来自分类Dev

如何从.tfrecords文件中选择TensorFlow中的特定记录?

来自分类Dev

如何在Powershell中的DTSX文件中选择特定字段

来自分类Dev

使用R从xml文件中选择特定文本

来自分类Dev

Python-从测试文件中选择特定值

来自分类Dev

使用d3从json文件中选择特定项目

来自分类Dev

从文本文件中选择特定的段落

来自分类Dev

我必须在 Excel 文件中选择特定行

来自分类Dev

在html中选择父目录

来自分类Dev

在html中选择父目录

来自分类Dev

Automake:为什么我的Makefile从源目录而不是构建目录中选择文件?

来自分类Dev

在烧瓶中选择文件

来自分类Dev

从路径中选择文件

来自分类Dev

在烧瓶中选择文件