python 查找文件名包含指定字符串的方法

yipeiwu_com6年前Python基础

编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。

import os
class SearchFile(object):
 def __init__(self,path='.'):
 self._path=path
 self.abspath=os.path.abspath(self._path) # 默认当前目录
 def findfile(self,keyword,root):
 filelist=[]
 for root,dirs,files in os.walk(root):
  for name in files:  
  fitfile=filelist.append(os.path.join(root, name))
  #print(fitfile)
  print(os.path.join(root, name))
 #print(filelist)
 print('...........................................')
 for i in filelist:  
  if os.path.isfile(i):
  #print(i)
  if keyword in os.path.split(i)[1]:
   print('yes!',i) # 绝对路径
  #else:
   #print('......no keyword!')
 def __call__(self):
 while True:
  workpath=input('Do you want to work under the current folder? Y/N:')
  if(workpath == ''):
  break
  if workpath=='y' or workpath=='Y':
  root=self.abspath # 把当前工作目录作为工作目录
  print('当前工作目录:',root)
  dirlist=os.listdir() # 列出工作目录下的文件和目录
  print(dirlist)
  else:
  root=input('please enter the working directory:')
  print('当前工作目录:',root)
  keyword=input('the keyword you want to find:')
  if(keyword==''): 
  break
  self.findfile(keyword,root) # 查找带指定字符的文件
if __name__ == '__main__':
 search = SearchFile()
 search()

运行结果:

注意:在运行的时候如果选择y,也就是把.py文件所在的目录作为工作目录,此时最好不要把.py文件放到桌面上,因为会遍历桌面上的所有目录及目录下的所有文件,会很大。

以上这篇python 查找文件名包含指定字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python英文文本分词(无空格)模块wordninja的使用实例

在NLP中,数据清洗与分词往往是很多工作开始的第一步,大多数工作中只有中文语料数据需要进行分词,现有的分词工具也已经有了很多了,这里就不再多介绍了。英文语料由于其本身存在空格符所以无需跟...

Python测试Kafka集群(pykafka)实例

生产者代码: # -* coding:utf8 *- from pykafka import KafkaClient host = 'IP:9092, IP:9092, IP...

对Python3之进程池与回调函数的实例详解

进程池 代码演示 方式一 from multiprocessing import Pool def deal_task(n): n -= 1 return n if __...

Django用户认证系统 User对象解析

User对象 User对象是认证系统的核心。用户对象通常用来代表网站的用户,并支持例如访问控制、注册用户、关联创建者和内容等。在Django认证框架中只有一个用户类,例如超级用户('s...

Python 25行代码实现的RSA算法详解

本文实例讲述了Python 25行代码实现的RSA算法。分享给大家供大家参考,具体如下: 网络上很多关于RSA算法的原理介绍,但是翻来翻去就是没有一个靠谱的算法实现,即使有代码介绍,也都...