怎么用python写一个简单的文件查找程序
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"怎么用python写一个简单的文件查找程序",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用python写一个简单的文件查找程序"吧!
千家信息网最后更新 2025年01月24日怎么用python写一个简单的文件查找程序
本篇内容主要讲解"怎么用python写一个简单的文件查找程序",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用python写一个简单的文件查找程序"吧!
在动手写代码前,我们先要分析问题,我对文件搜索有如下要求:
1、 我可以指定要搜索的文件目录
2、 我可以指定关键字,程序查找指定目录里的包含这个关键字的文件名称
3、 我可以指定文件后缀名,程序查找指定目录里符合这个后缀的文件名称
4、 如果同时指定了关键字和后缀,则取他们搜索结果的交集
好了,想清楚目标后,我们可以动手了。
首先,得解决文件查找问题,怎么才能获取一个目录下所有的文件名称呢?非常幸运的是os模块提供了一个名为walk的方法,可以做到这一点。具体使用方法,大家可以百度,关键词:python os.walk 。
当关键字和后缀名都指定的时候,需要取他们的交集,我们可以使用set来分别存储符合关键字和后缀名的结果,然后求交集。
存在只指定关键字而不指定后缀名的情况,反之也是可能的,但是都不指定是不允许的,这就要求程序能够灵活应对这种参数变化的情况,因此,我们用可变参数来解决。
经过了前面的分析,代码就简单了
#coding=utf-8
import os
def find_file(path,**kwargs):
if not 'key' in kwargs and not 'suffix' in kwargs:
print u'请指定关键词或者后缀'
return
key = kwargs.get('key',None)
suffix = kwargs.get('suffix',None)
file_lst = []
for parent,dirnames,filenames in os.walk(path):
for filename in filenames:
filepath = os.path.join(parent,filename)
file_lst.append(filepath)
suffix_set = set()
key_set = set()
for filepath in file_lst:
name = os.path.split(filepath)[1]
if not suffix == None and name.endswith(suffix):
suffix_set.add(filepath)
if not key == None and not -1 == name.find(key):
key_set.add(filepath)
if suffix and key:
res_set = suffix_set.intersection(key_set)
elif suffix:
res_set = suffix_set
else:
res_set = key_set
return list(res_set)
if __name__ == '__main__':
file_list = find_file('/Users/kwsy/PycharmProjects/Dream',key='lead',suffix='.py')
for name in file_list:
print name
到此,相信大家对"怎么用python写一个简单的文件查找程序"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
关键
后缀
程序
关键字
目录
交集
名称
方法
搜索
代码
关键词
内容
参数
情况
结果
问题
分析
学习
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库被拖库
创建数据库是排序规则
数据库查询存在不及格的课程
实例与数据库的关系
服务器面板管理工具
服务器响应数据解析失败
云服务器服务费单位
华为网络技术大赛集体答辩
触漫服务器
福建联想服务器虚拟化系统云主机
2022年中国网络安全事件
网络安全知识答题满分图
cetv1家庭教育和网络安全
第三次科技改革互联网
网络安全 领导人讲话
如何登陆万得数据库
打印机rip软件开发
多益网络软件开发笔试题
嵌入式数据库 ppt
存取json格式的数据库
scum被服主踢出服务器怎么办
服务器光纤接口怎么接
数据库中的三支一扶
数据库中没有了个性化
河北软件开发外包业务
网络安全招聘恩施
服务器为什么要做防护
insert批量插数据库
客户关系如何建立客户数据库
上海旋风软件开发联系方式