按条件自动搜索文件

在计算机的某个文件夹中,假如有一大堆不同格式的文件,如下图:

我们的目的:快速查找出文件名中包含某文字内容的指定格式的文件,看看它们都放在哪里?通过分析,可能在当前文件夹中也可能在某个子文件夹里,可以使用两种方法,解决这个查找问题!

  1. os模块实现
    利用os模块的walk()方法来获取文件列表,再通过if条件语句筛选符合规则的文件。
    导入使用的os模块,file_name是我们要查找的文件的名(可以是包含的部分文字),suffix_name是要查找的文件类型。os模块的walk()方法会递归来帮助我们获取文件夹中的所有文件,并得到一个文件列表。针对文件列表filenames中的每个文件,首先判断它是否包含file_name的suffix_name文件。如果同时满足这两个条件,再调用join()方法拼接出它的绝对路径,打印出最终的结果即可。
    源码如下:
import os

file_name = input('请输入要查找的文件名(可以是包含的部分文字):')
suffix_name = input('请输入要查找的文件后缀名(文件类型,如"xlsx, doc, txt等"):')

# 本案例是指定的路径
path = '/Users/bruce_liu/Desktop'
for dirpath, dirnames, filenames in os.walk(path):
    for name in filenames:
        if f'{file_name}' in name and f'.{suffix_name}' in name:
            file_path = os.path.join(dirpath, name)
            print(file_path)

运行结果:

请输入要查找的文件名(可以是包含的部分文字):Python
请输入要查找的文件后缀名(文件类型,如"xlsx, doc, txt等"):md
/Users/bruce_liu/Desktop/xpath/爬虫案例/Python爬虫—requests模块.md
/Users/bruce_liu/Desktop/python-penetration/Python编写单词复习小程序.md
/Users/bruce_liu/Desktop/python-penetration/用Python编写背单词的小程序.md
  1. glob模块实现
    利用glob模块的正则通配符,来筛选符合规则的文件。
    导入glob模块后,调用glob()方法,其中**搭配recursive参数,实现递归查找文件,*file_name和suffix_name与“*”和path路径一起拼接要查找的文件路径下的指定条件的文件。源码如下:
import os
import glob

file_name = input('请输入要查找的文件名(可以是包含的部分文字):')
suffix_name = input('请输入要查找的文件后缀名(文件类型,如"xlsx, doc, txt等"):')

# 本案例是指定的路径
path = '/Users/bruce_liu/Desktop/'
# 遍历文件夹及文件夹
for file in glob.glob(os.path.join(path, f'**/*{file_name}*.{suffix_name}'), recursive=True):
    print(file)

两种方法中glob模块在文件查找方面更有优势。类似的相关的方法可以通过小蜜蜂AI的GPT问答获得。网址:https://zglg.work。

相关推荐

  1. 京东jd关键字搜索商品 API

    2024-01-26 03:42:01       18 阅读
  2. react实现表格多条件搜索

    2024-01-26 03:42:01       26 阅读
  3. springboot自动配置的条件注解使用

    2024-01-26 03:42:01       32 阅读
  4. 搜索文件1.0

    2024-01-26 03:42:01       16 阅读
  5. 京东关键字搜索商品 API 返回值说明

    2024-01-26 03:42:01       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-26 03:42:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-26 03:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-26 03:42:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-26 03:42:01       20 阅读

热门阅读

  1. python爬虫

    2024-01-26 03:42:01       38 阅读
  2. Imagenet-A,Imagenet-C和ImageNet-O

    2024-01-26 03:42:01       30 阅读
  3. Rust Web小项目

    2024-01-26 03:42:01       35 阅读
  4. 扩展坞 接两个显示器

    2024-01-26 03:42:01       35 阅读
  5. 实习记录——第三天

    2024-01-26 03:42:01       38 阅读
  6. AcWing.表达式求值模板题

    2024-01-26 03:42:01       36 阅读
  7. Egg框架搭建后端服务【6】- 上传图片和图片回显

    2024-01-26 03:42:01       37 阅读
  8. Modern C++ std::move的实现原理

    2024-01-26 03:42:01       33 阅读
  9. 慎用少用c++的static和extern变量-几个常见错误

    2024-01-26 03:42:01       36 阅读
  10. 【力扣 50】Pow(x, n) C++题解(数学+递归+快速幂)

    2024-01-26 03:42:01       30 阅读