os.walk 在第一次找到后停止查找子目录

2024-04-09

我需要获取目录中第一次出现的repository.config 文件并停止在子目录中查找。

这是我的目录树:



./WAS80/base/disk1/ad/repository.config
./WAS80/base/disk1/md/repository.config
./WAS80/base/disk2/ad/repository.config
./WAS80/base/disk3/ad/repository.config
./WAS80/base/disk4/ad/repository.config
./WAS80/base/repository.config
./WAS80/fixpack/fp5/repository.config
./WAS80/fixpack_suplements/fp5/repository.config
./WAS80/supplements/disk1/ad/repository.config
./WAS80/supplements/disk1/md/repository.config
./WAS80/supplements/disk2/ad/repository.config
./WAS80/supplements/disk3/ad/repository.config
./WAS80/supplements/disk4/ad/repository.config
./WAS80/supplements/repository.config
  

我需要粗体的内容并停止在子目录中查找。

我开始修改这段代码,但我无法弄清楚。

pattern='repository.config'
path='/opt/was_binaries'

    def find_all(name, path):
            result = []
            for root, dirs, files in os.walk(path):
                    if name in files:
                            result.append(os.path.join(root, name))
                            continue

            return result

这应该做你想做的:

import os

res = []

for here, dirs, files in os.walk(startdir, topdown=True):
    if 'repository.config' in files:
        res.append(os.path.join(here, 'repository.config'))
        dirs[:] = []
        # dirs.clear()  # should also work - not tested...

print(res)

每当你遇到一个'repository.config'文件,设置dirs to []为了阻止os.walk https://docs.python.org/3/library/os.html#os.walk从进一步下降到该目录树。

注意:这对于改变现状至关重要dirs就地(即dirs[:] = [])而不是重新绑定它(dirs = []).,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

os.walk 在第一次找到后停止查找子目录 的相关文章

随机推荐

  • oracle 9i 中还有其他 wm_concat 命令吗?

    我有一个包含部门 ID 员工姓名和加入日期的表 我想要获取在给定日期加入给定部门的所有员工的列表 wm concat不管用 根据this http www oracle base com articles misc string aggre
  • 如何使用个人访问令牌从 CircleCI 构建将提交推送到 Github

    执行 git 存储库构建时giantswarm docs content在 CircleCI 中 我想将提交推送到另一个存储库giantswarm docs 我有这个在deployment的部分circle yml git config c
  • 如何让 jenkins-cli.jar 使用我的 ssh 代理/钥匙串?

    我正在使用 jenkins 服务器中的 jenkins cli jar 文件 每次运行时它都会提示我输入 ssh 密钥密码 我希望它使用我的 ssh 钥匙串 这样我就不必在每次调用时输入它 如果重要的话 我在 OSX 上使用默认的钥匙串设置
  • 不再有离线语音识别了吗?

    今天我注意到离线语音识别不再起作用了 它之前有效 因为我能够将它用于我的应用程序 并且我完全确定我处于离线状态 并且当时一切正常 我今天想测试我的应用程序 但无论我说得多大声 它都无法理解我所说的内容 然后我打开了无线网络 它工作得很好 我
  • 在 Windows 窗体上显示 HTML 内容的最佳方式是什么?

    我想在我的应用程序中显示 HTML 格式的内容 最好是在 Web 浏览器控件内 我可以先创建一个 HTML 文档 然后将其加载到 Web 浏览器控件中 但这太笨拙了 有什么方法可以将包含 HTML 代码的字符串直接加载到 Web 浏览器中吗
  • 带有图像背景的 SVG 三角形分隔符

    好吧 我正在尝试创建一个 SVG 部分分隔符 它的工作原理是这样的 section section
  • Clojure 调用一系列函数并存储它们的返回值

    我正在构建一个数据模式 并且在我的脚下有以下内容clj定义和处理模式和初始数据的文件 每次调用下面调用的函数d transact defn recreate database To recreate db after running del
  • 我可以拥有多个 Spring Cloud 配置服务器吗?

    我知道我可以使用 1 个以上的存储库来跨多个存储库 可能针对每个应用程序 分发我的配置 但是 我可以为这些存储库运行 1 个以上的配置服务器吗 这样我们就可以避免 配置服务器 出现单点故障 如果我们可以运行多个配置服务器 我如何从访问任何一
  • 如何在Golang中创建kafka消费者组?

    可用的库是sarama https github com Shopify sarama 或其扩展萨拉玛簇 https github com bsm sarama cluster 但是没有提供消费者组示例 不在sarama https god
  • 提交具有自定义功能的加载项

    In this doc https learn microsoft com en us office dev add ins excel custom functions overview 其中提到 开发者预览版尚不支持以下功能 将加载项发
  • virtualenv 激活不起作用

    我正在尝试创建一个虚拟环境来测试 api 我可以使用以下方式创建环境virtualenv test 然后我可以 cd 进入它 当我尝试跑步时activate 我收到此错误 PS C Users Bright Bridge Desktop a
  • Log4j TimeBased 触发策略中 modulate = 'true' 表示什么

    在下面的示例中 每天都会创建一个日志文件 考虑到这个例子 您能否提供一个场景来展示 modulate true 的用法 并将间隔设置为 1
  • VC/C++ 裸属性有什么作用?

    来自msdn http msdn microsoft com en us library h5w10wxs aspx 对于用裸函数声明的函数 属性 编译器生成代码 没有序言和结尾代码 你 可以使用这个功能来编写自己的 prolog epil
  • Scrapy 是否可以从原始 HTML 数据中获取纯文本?

    例如 scrapy shell http scrapy org content hxs select id content extract 0 print content 然后 我得到以下原始 HTML 代码 div h2 Welcome
  • GrantPermissionCallable:权限:无法授予 android.permission.SET_TIME

    我正在尝试使用新的授予权限规则 https developer android com reference android support test rule GrantPermissionRule html这是最新支持库的一部分 在我的清
  • 在单个 matplotlib 图上嵌入多个 gridspec 布局?

    我正在使用 python 图形库 matplotlib 来绘制报告中的几项内容 我发现自己需要在较小图形的任意网格上方有几个固定计数的图形 我四处搜索 但找不到任何可以让我在单个 matplotlib 图上使用两个 gridspec 布局的
  • 我可以使用购买状态 API 来验证应用程序是否是通过 Play 商店购买的

    我有一个与我的后端通信的应用程序 我希望后端仅在用户通过游戏商店购买该应用程序并且没有窃取它时接受并响应 所以想法是 用户通过 Playstore 购买应用程序 应用程序通过服务器进行通信并发送使用该应用程序的用户的gmail地址 服务器询
  • Django 基于类的 DeleteView 示例

    有谁知道或有人可以制作一个 Django 基于类的通用 DeleteView 的简单示例吗 我想子类化 DeleteView 并确保当前登录的用户在删除该对象之前拥有该对象的所有权 任何帮助将非常感激 先感谢您 这是一个简单的 from d
  • FITS文件的坐标转换问题

    我已经在 python 中加载并绘制了一个 FITS 文件 在上一篇文章的帮助下 我成功地将轴从像素转换为天体坐标 但我无法正确地以毫角秒 mas 为单位获取它们 代码如下 import numpy as np import matplot
  • os.walk 在第一次找到后停止查找子目录

    我需要获取目录中第一次出现的repository config 文件并停止在子目录中查找 这是我的目录树 WAS80 base disk1 ad repository config WAS80 base disk1 md repositor