使用Python+os+fnmatch搜索文件和目录

news2024/9/24 19:22:57

一、搜索/home/Download目录下的zip压缩文件

import os
from fnmatch import fnmatch

# 搜索与pattern匹配的文件和目录
def find_file(pattern, path):

    result = []

    for root, dirs, files in os.walk(path):

        for name in files:
            

            if fnmatch(name, pattern):
                result.append(os.path.join(root, name))

    return result

# 搜索/home/Download目录下的zip压缩文件
result = find_file('*.zip', '/home/Download/')

for file in result:
    print(file)

二、Python中os模块walk函数参数详解

os.walk(top, topdown=True, οnerrοr=None, followlinks=False)

参数含义如下:

(1)    top:指定要遍历的目录。

(2)    topdown:指定遍历顺序。如果为True,则先遍历顶层目录,然后再遍历子目录。如果为False,则先遍历子目录,然后再遍历顶层目录。

(3)    onerror:指定一个函数,用于处理遇到的错误。如果未指定,则忽略错误。

(4)    followlinks:指定是否遍历符号链接。如果为True,则遍历符号链接指向的目录。

返回元组(dirpath, dirnames, filenames)含义:

        os.walk函数返回一个生成器(generator),每次迭代生成一个包含三个元素的元组:(dirpath, dirnames, filenames),每一个元素的含义如下:

(1)    dirpath:字符串,表示当前目录的路径。

(2)    dirnames:列表,包含当前目录中的子目录名称。

(3)    filenames:列表,包含当前目录中的文件名称。

三、Python中fnmatch模块的fnmatch函数匹配规则

fnmatch这个库专门用来进行文件名匹配,支持使用通配符进行字符串匹配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2070965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R语言function快速掌握-自定义函数

R语言在生物学中运用的比较多的还是吊包然后使用内置函数进行一次性工作,但是生物信息与计算生物学领域确实低估和忽视了R语言在循环和自定义函数方面的优势。 在R语言中,function 是一个核心概念,它允许用户创建可重用的代码块来执行特定的…

【PHP报错已解决】‘/www/wwwroot/xxxxxx/public/../thinkphp/start.php‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言: 作为开发者,遇到报错信息是在所难免的。然而,有些报错信息可能会让我们感到困惑&…

每日OJ_牛客_淘宝网店(日期模拟)

目录 牛客_淘宝网店(日期模拟) 解析代码 牛客_淘宝网店(日期模拟) 淘宝网店__牛客网 解析代码 这是一个变相的日期计算器。只不过2、3、5、7、11月算1天,其他7个月算2天。 既然是一个变相的日期计算器,那…

24暑假算法刷题 | Day39 | 动态规划 VII | LeetCode 198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III

目录 198. 打家劫舍题目描述题解 213. 打家劫舍 II题目描述题解 337. 打家劫舍 III题目描述题解 打家劫舍的一天 😈 198. 打家劫舍 点此跳转题目链接 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷…

初出茅庐:怎样获得实习机会——之找到一份工作

如果你刚开始工作,找到工作的最好和最简单的方法之一就是【实习】;许多技术类公司只雇佣实习生或者经验丰富的软件开发者,实习为公司提供了一个独一无二的机会,使其可以在雇用潜在员工之前对他们进行充分的评估。但实习的机会不是…

Pytorch升级之旅——基础概念

目录 一、人工智能简史 三次浪潮 DL,ML,AI三者之间的关系 二、模型评价指标 混淆矩阵 Overall Accuracy ​编辑 Average accuracy Kappa系数 Recall Precision F1 PR曲线 置信度 IOU AP mAP 三、常用包Numpy、pandas、matplotlib Numpy pandas matplotlib…

二叉树【2】遍历

先中后序 先序遍历:根左右 中序遍历:左跟右 后序遍历:左右跟 例图 先序性质 中序性质 后序性质 先序中序确定二叉树 后序中序确定二叉树 先序后序不能确定。 层序:广度优先搜索 如果需要修改树的元素,则需no…

机器学习(第六关--文本特征抽取)

以下内容,皆为原创,制作实属不易,感谢大家的观看和关注。 在此真诚的祝愿大家,生活顺顺利利,身体健健康康,前途似锦。 第一关:机器学习概念和流程http://t.csdnimg.cn/IuHh4第二关:…

【功能实现】Vue3中导航栏效果实现

功能需求: 点击导航后会跳转到相应的页面当页面在顶部时,导航栏模块背景是透明的当页面向下滚动超过150px时,导航栏背景为白色 效果实现: 1.准备列表 将导航栏区域的类名设置为动态,即通过判断isTransparent是否存在…

浅谈【数据结构】链表之其他形态

目录 1、带头结点的链表 2、创建步骤 3、循环链表 3.1创建循环链表 3.2循环链表的遍历 3.3链表中的闭环 4、静态链表 4.1静态链表初始化 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错,说的就是你,不用再怀疑!&#…

在群晖上安装Git客户端

什么是 Git ? Git 是一个分布式版本控制系统,提供了命令行界面(CLI)以及图形用户界面(GUI)两种方式进行操作。与 CVS、Subversion 一类的集中式版本控制工具不同,它采用了分布式版本库的作法&am…

LinkedList添加和删除方法的源码分析超详细

我们基于下面这段代码进行分析 进入add方法后调用的是linkLast方法 这是add方法真正的底层逻辑,首先将last值赋给l节点,此时的l为null,然后再创建新节点的时候将l作为前向指针传入,将节点中的next指针也赋值为null,之后…

PHP反序列化二

1.反序列化基础利用 2.pop链 POP链: POP(面向属性编程)链是指从现有运行环境中寻找一系列的代码或指令调用,然后根据需求构造出一组连续的调用链。 反序列化利用就是要找到合适的POP链。其实就是构造一条符合原代码需求的链条,去找到可以控…

基于YOLOv8的无人机高空红外(HIT-UAV)检测算法,新的混合型扩张型残差注意力(HDRAB)助力涨点(二)

💡💡💡本文内容:针对基于YOLOv8的无人机高空红外(HIT-UAV)检测算法进行性能提升,加入各个创新点做验证性试验。 💡💡💡一种新的混合型扩张型残差注意力(HDRAB…

Springboot基础------控制器、过滤器、拦截器、监视器

控制器 控制器用于接收和响应用户发送的请求,一个控制器类需要被Controller注解:(即controller层) Controller class TestController { }注: RestController实际上是Controller和ResponseBody的简化版,被…

数据仓库系列 3:数据仓库的主要组成部分有哪些?

你是否曾经好奇过,当你在网上购物或使用手机应用时,背后的数据是如何被存储和分析的?答案就在数据仓库中。本文将为你揭开数据仓库的神秘面纱,深入探讨其核心组成部分,以及这些组件如何协同工作,将海量数据转化为有价值的商业洞察。 目录 引言:数据仓库的魔力1. 数据源和数据…

STM32 | STM32 FLASH第十二天(实现代码STM32CUBEMX)

点击上方"蓝字"关注我们 01、FLASH >>> 1、STM32 FLASH Flash内部存储器,内存器件的一种,是一种非易失性( Non-Volatile )内存。 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元…

mac 虚拟机PD19运行E-prime实验遇到E-prime unable to set display mode:0*80004001问题解决

作者:50% unable to set display mode问题 总结: 1. 修改该Experiment的Devices中的Dispaly为640*680,或800*600。 2. 右键开始菜单中的E-Studio程序,打开文件所在位置,然后右键该文件,选择属性-兼容性,勾选…

【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

~ 会当凌绝顶,一览众山小 ~ 前言 博客主页:h0ack1r丶羽~ 从0到1~ 渗透测试中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机&am…

医疗多模态大模型是什么?医学多模态模型总结:算法其实很简单,拼的就是硬件算力的问题!多模态大模型(医疗影像分析)

概念 医学多模态大模型是指利用多种不同的医学数据源和模型,通过深度学习和人工智能技术,构建一个综合性的大型模型,以实现更加准确和全面的医学数据分析和预测。 这种模型可以同时处理多种医学数据类型,如医学图像、病历文本、…