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 查找文件名包含指定字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python查找目录下指定扩展名的文件实例

    本文实例讲述了python查找目录下指定扩展名的文件.分享给大家供大家参考.具体如下: 这里使用python查找当前目录下的扩展名为.txt的文件 import os items = os.listdir(".") newlist = [] for names in items: if names.endswith(".txt"): newlist.append(names) print newlist 希望本文所述对大家的Python程序设计有所帮助.

  • python判断字符串是否包含子字符串的方法

    本文实例讲述了python判断字符串是否包含子字符串的方法.分享给大家供大家参考.具体如下: python的string对象没有contains方法,不用使用string.contains的方法判断是否包含子字符串,但是python有更简单的方法来替换contains函数. 方法1:使用 in 方法实现contains的功能: site = 'http://www.jb51.net/' if "jb51" in site: print('site contains jb51') 输出结

  • python获取指定目录下所有文件名列表的方法

    本文实例讲述了python获取指定目录下所有文件名列表的方法.分享给大家供大家参考.具体实现方法如下: 这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表: # -*- coding: utf-8 -*- #~ #------------------------------------------------------------------ #~ module:wlab #~ Filename:wgetfilelist.py #~ Funct

  • Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, topdown=Ture, onerror=None, followlinks=False) 该函数可以得到一个三元tupple(dirpath, dirnames, filenames). 参数含义: dirpath:string,代表目录的路径: dirnames:list,包含了当前dirpat

  • Python获取文件所在目录和文件名的方法

    实例如下: import os if __name__ == "__main__": file_path = 'D:/test/test.apk' parent_path = os.path.dirname(file_path) print('parent_path = %s' % parent_path) file_name = os.path.split(file_path)[-1] print('file_name = %s' % file_name) 输出: 以上就是小编为大家

  • python实现在目录中查找指定文件的方法

    本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 复制代码 代码如下: import os from glob import glob #用到了这个模块 def search_file(pattern, search_path=os.environ['PATH'], pathsep=os.pathsep):     for path in search_path.split(os.pathsep):         for mat

  • 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

  • php 字符串中是否包含指定字符串的多种方法

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现. 该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false. 代码如下: <?php /*如手册上的举例*/ $email = 'user@example.com'; $domain = strstr($email, '@

  • C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    正文  #方法一:使用string.Contains方法 string.Contains是大小写敏感的,如果要用该方法来判断一个string是否包含某个关键字keyword,需要把这个string和这个keyword都转成小写或大写再调用Contains方法: string key = "bbb"; string temp = "aaaBBBcccDDD"; bool isContains= temp.ToLower().Contains(key.ToLower()

  • Python实现确认字符串是否包含指定字符串的实例

    有时候我们需要在某段字符串或者某段语句中去查找确认是否包含我们所需要的字符串信息, 举例子说. 某段变量是:A= "My name is Clay, and you can get my name" A = "My name is Clay, and you can get my name" myName = "Clay" if myName in A: //do what you want to do 而 我们需要查找A中是否包含Clay字段.

  • Python输出指定字符串的方法

    问题描述 输入一串字符,由字母.数字和空格组成,长度 < 1000, 判断其中是否存在日期格式的数据.日期格式的数据具有如下的特征,连续包含年份和月份信息.年份信息是指连续的四个数字,之后是 Jan, Feb, Mar,Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec 这些字符串之一 , 如" 2019Nov" 就是符合日期格式要求的数据. 解决方案 从字符串中采取切片的方式来进行指定输出,用条件判断来进行限制输出想要的格式 ( 1 ) 设置

  • python实现判断数组是否包含指定元素的方法

    本文实例讲述了python实现判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: python判断数组是否包含指定的元素的方法,直接使用in即可,python真是简单易懂 print 3 in [1, 2, 3] # membership (1 means true inventory = ["sword", "armor", "shield", "healing potion"] if "healin

  • Python根据文件名批量转移图片的方法

    下面是在深度学习数据集处理过程中可能会用到的一个小程序,帮助我们根据图片文件的名字来分开图片: import os import shutil path_img='读取图片的路径' ls = os.listdir(path_img) print(len(ls)) for i in ls: if i.find('查找的关键词')!=-1: shutil.move(path_img+'/'+i,"输出保存的路径"+i) ---------使用示例---------- 例如我有如下的一个图片

  • Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroes\xff..... 在对每行进一步进行处理时,要求处理对象必须为通用字符串,所以: lineVec = str(line).strip().split('\t') 此时的lineVec的元素类型为string,但输出是仍然是 "b'heros\xff-.." ,仍然无法摆脱二进制标志的影响.然而,尴尬的是,

  • js正则表达式校验指定字符串的方法

    最新一个小表单验证需求:"只能输入汉字,并且必须包含"支行","分行","银行","信用社""字样,需用正则表达式校验 故写出了如下的表达式 var patt1=new RegExp(/^[\u0391-\uFFE5]*(([\u652f]{1}[\u884c]{1})|([\u5206]{1}[\u884c]{1})|([\u94f6]{1}[\u884c]{1})|([\u4fe1]{1}[\u7528

随机推荐