博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python实战系列】寻找失踪的文件(四)
阅读量:2056 次
发布时间:2019-04-28

本文共 1266 字,大约阅读时间需要 4 分钟。

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

 

    这时候你肯定就想用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学习日记,让我们一起成长!

转载地址:http://canlf.baihongyu.com/

你可能感兴趣的文章
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>