怎么用python写一个简单的文件查找程序
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"怎么用python写一个简单的文件查找程序",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用python写一个简单的文件查找程序"吧!
千家信息网最后更新 2025年12月02日怎么用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安全错误
数据库的锁怎样保障安全
手机属于什么服务器
数据库怎么确定主键
腾讯云一个服务器能分几条ip
湖北网络安全培训课程
plsql远程数据库地址
政法大学网络安全专业就业前景
高性能服务器设计聊天知乎
什么是专业性文献数据库
虫虫吉他谱软件开发
1156针服务器cpu
服务器未满可以夫妻投靠吗
政法干警的服务器什么时候开始
生日快乐吉他谱软件开发
服务器名称在哪
确保企业网络安全运行
北京智阳网络技术
新乡乐昂网络技术有限公司
无锡数字化智慧校园软件开发
服务器如何安装安全补丁
深圳市掌柜网络技术
供应网络安全整机哪家好
海德威软件开发深圳上海分公司
重庆市软件开发培训哪家好
合肥建筑软件开发企业
无线城域网络技术特点
移动软件开发工程师是干啥的
你使用过的数据库有哪些
常用的网络安全服务
南方互联网络科技有限公司
常州通用软件开发流程