python根据多个文件名批量查找文件

本文实例为大家分享了python根据多个文件名批量查找文件的具体代码,供大家参考,具体内容如下

老板给了我一个文件列表,让我在一堆文件中挑出来,他要的文件有500多个,一堆文件有上千个,而且给的是关键词,不是完整的文件名。

我先做了类似的文件测试一下,一个名为filename的excel表

又做了一个文件夹

接下来运行代码

import os
import numpy as np
import pandas as pd
import shutil

file_path='/home/disk/yh_test/myfiles' #文件路径
filename_path='/home/disk/yh_test/filename.xlsx' #文件列表

filelist=os.listdir(file_path)  #获取文件夹中的文件名称
file_name=pd.read_excel(filename_path) #读取所需文件列表

file_name['count']=0 #定义新的一列count,用于计数
for file in filelist:
 m=file_name.shape[0] #表格的行数
 olddir=os.path.join(file_path,file) #每一个文件路径
 for i in range(m):
  if str(file_name['name'][i]) in file: #寻找对应的文件名
   F="/home/disk/yh_test/myfiles_filter/" #新文件夹名称(先建好)
   newdir=os.path.join(F,file)
   shutil.copy(olddir,newdir)  #复制到新文件夹中
   file_name['count'][i]=file_name['count'][i]+1 #计数
   print(file) #打印出文件名,其实我是为了看它是不是在运行
  else:
   continue

file_name.to_excel('file_name_count.xlsx')  #保存新的文件列表

运行结果如下:

新的文件夹myfiles_filter中文件是这样的:

有关键字的文件都被复制过来了。

新的列表里就有关键字出现的次数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 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查找目录下指定扩展名的文件实例

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

  • 在Python中使用glob模块查找文件路径的方法

    glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可

  • 如何利用python查找电脑文件

    利用python查找电脑里的文件非常方便 比如在我的电脑:D:\软件 文件夹里有非常非常多的软件. 我忘记某个软件叫什么名字了,只记得文件名称里有 now,而且后缀名是.zip 利用python如何实现查找呢? 用python非常简单: 代码如下截图: 首先是导入模块os 然后就是利用os.listdir()打开目录下的所有文件,files其实是一个列表. 其实前2行可以合并为一行:files=os.listdir(u'D:\软件') 这样写也行. 下面就是一个for循环非常简单,然后就是做一个

  • 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

  • Python3实现从指定路径查找文件的方法

    本文实例讲述了Python3实现从指定路径查找文件的方法.分享给大家供大家参考.具体实现方法如下: 这里给定一个搜索路径,根据这个路径请求和请求的文件名,找到第一个符合要求的文件 import os def search_file(file_name, search_path, pathsep = os.pathsep): for path in search_path.split(pathsep): candidate = os.path.join(path, file_name) if os

  • python 文件查找及内容匹配方法

    需求:程序开发中有大量的接口,但在实际的使用中有一部分是没有使用的,在开发的程序中匹配这些接口名,找到哪些接口从没有使用过.将这些没有使用过的接口名保存下来. 代码结构: 结构解析: 1.find.py 是文件查找及匹配程序 2.input_files.txt是待匹配内容 文件格式如下: 3.result.txt 用于存放查找结果 格式同上 4.text.txt 用于测试的文档(可忽略) 实际代码: find.py #!/usr/bin/python # -*- coding: UTF-8 -*

  • 简单掌握Python中glob模块查找文件路径的用法

    glob使用UNIX shell规则查找与一个模式匹配的文件名.只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可以使用这个模块. glob的模式规则与re模块使用的正则表达式不相同.glob模式遵循标准UNIX路径扩展规则.只是用几个特殊字符来实现两个不同的通配符和字符区间.模式规则要应用于文件名中的段.模式中的路径可以是相对路径或绝对路径. shell变量名和波浪线都不会扩展. 基本用法 1.glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pat

  • python查找指定具有相同内容文件的方法

    本文实例讲述了python查找指定具有相同内容文件的方法.分享给大家供大家参考.具体如下: python代码用于查找指定具有相同内容的文件,可以同时指定多个目录 调用方式:python doublesdetector.py c:\;d:\;e:\ > doubles.txt # Hello, this script is written in Python - http://www.python.org # doublesdetector.py 1.0p import os, os.path,

  • python 查找文件夹下所有文件 实现代码

    复制代码 代码如下: def find_file_by_pattern(pattern='.*', base=".", circle=True): '''''查找给定文件夹下面所有 ''' re_file = re.compile(pattern) if base == ".": base = os.getcwd() final_file_list = [] print base cur_list = os.listdir(base) for item in cur

随机推荐