【python实战系列】寻找失踪的文件(四)

相信很多小伙伴有过这样的困扰,每次你在编辑文件时,将文件保存后就不知道文件到哪里去了,找了半天也找不到,最后没办法,只能将好不容易做好的文档进行重做,很是苦恼。

 

    这时候你肯定就想用window自带的搜索功能来搜索你要找的文件,然后window的搜索功能本身就是一个很鸡肋,也许你等了几十秒搜索的东西还不会搜索得到,甚至电脑还会就此卡住。

这时候你就迫切需要一个好的搜索软件来找到自己想要的文件。不过目前我是不会说的,因为我刚好也要做一个简单版的文件搜索器。

 

可以利用之前学到的正则表达式来实现这个功能。

 

实现思路如下:

    1.首先我们可以先写一个正则表达式来匹配我们的文件,由于时间问题,我们就使用后缀名来匹配吧,

    2.然后我们可以通过递归遍历文件夹,找到符合条件的文件

    3.将每个符合条件的文件存入数组中

    4.最后将这些符合条件的文件的完整路径写入到某个文件中便于查看

 

话不多说,实战一波:

import re, os, sys


# 递归寻找文件
def find_dirs(path):
    file_list = []
    for root, dirs, files in os.walk(path):
        for file in files:
            file_name = os.path.join(root, file).replace('\\', '/')
            if txtRegex.match(file_name):
                file_list.append(file_name)
    return file_list
# path = 'F:\\test\\test'
path = sys.argv[1]
suffix = sys.argv[2]
# suffix = '\.txt'
txtRegex = re.compile(r'.*' + suffix)

regDir = open('F:\\test\\文件目录.txt', 'w')
regDir.write('满足要求的文件如下: \n')
for filename in find_dirs(path):
    regDir.write(filename + '\n')
regDir.close()

 

代码已经撸完,可以来操作一波:

py findTxt.py F:/test/test .xls

我们的目标是要找到F:/test/test目录下所有的以.xls结尾的文件,运行一下我们自制的 简易版文件搜索器

 

我们到对应的目录下查找一下,看看是否存在这两个文件

 

这样,一个简易版的文件搜索器就完成了

 

其实在传入参数时,可以传入一个正则表达式,但大多数人对正则不是很了解,所以我就用比较通用后缀查找法了。有兴趣的朋友还可以将这个做成图形化界面,这样,可以显得更加的高大上,对了之前说的软件叫everything

 

喜欢本文的话,可以关注以下公众号,每天定时更新一篇python学习日记,让我们一起成长!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值