当前位置:   article > 正文

python找到文件夹下指定文件_python笔记之按文件名搜索指定路径下的文件

item_path = os.path.join(root_dir, item)

1.搜索文件名中以指定的字符串开头(如搜索dll,结果中含有dll a,dll abc等)

我的目录下有dll a.txt和dll.txt文件

1373746-20180506124517478-1651946128.png

其中a文件夹下还有这两个文件

1373746-20180506124534642-1662792669.png

我希望通过python选择寻找关键字dll来把这四个文件找出

import os

result=[]

def search(path=".", name=""):

for item in os.listdir(path):

item_path = os.path.join(path, item)

if os.path.isdir(item_path):

search(item_path, name)

elif os.path.isfile(item_path):

if name in item:

global result

result.append(item_path + ";")

print (item_path + ";", end="")

search(path=r"D:\newfile", name="dll")

输出结果:

1373746-20180506124634172-405783374.png

2.如果我只想找出名叫dll的txt,不要dll a.txt,即上文是关键字匹配,这次改为全匹配。那么就要用到搜索指定的文件名

只要将上文代码中

if name in item:

改为

if name+".txt" == item:

即可

3.提取excel某一列中病人姓名并转化为拼音,根据拼音检索某一路径下的对应图片路径

#-*-coding:utf-8-*-

importxlrdimportosimportrefrom xlwt import *

from xpinyin importPinyin

pa=None

myItem_path=[]deffile_name(file_dir):for root, dirs, files inos.walk(file_dir):return(dirs) #当前路径下所有非目录子文件

def search(path=".", name="1"):for item inos.listdir(path):globalpa

item_path=os.path.join(path, item)ifos.path.isdir(item_path):

search(item_path, name)#if(t==None):pa=None

elifos.path.isfile(item_path):if name+".jpg" ==item:

myItem_path.append(item_path+";")print (item_path+";",end="")

pa=myItem_path#------------------读数据--------------------------------

fileName="D:\\study\\xmu\\420\\廖希一\\数字化之后\\上机名单-2014,2015.xls"bk=xlrd.open_workbook(fileName)

shxrange=range(bk.nsheets)try:

sh=bk.sheet_by_name("2014年")except:print ("代码出错")

nrows=sh.nrows #获取行数

book = Workbook(encoding='utf-8')

sheet= book.add_sheet('Sheet1') #创建一个sheet

p =Pinyin()for i in range(1,nrows):#row_data=sh.row_values(i)

#获取第i行第3列数据

# #---------写出文件到excel--------

#if i==16:

#break

a=p.get_pinyin( sh.cell_value(i,2), ' ')

search(path=r"D:\study\xmu\420\廖希一\photo", name=a)

myItem_path=[]print ("-----正在写入"+str(i)+"行")

sheet.write(i,0, label= sh.cell_value(i,2)) #向第1行第1列写入获取到的值

sheet.write(i,1, label = sh.cell_value(i,4))#向第1行第2列写入获取到的值

sheet.write(i,2, label=a)

sheet.write(i,3, label=pa)

pa=None

book.save("D:\\study\\xmu\\420\\廖希一\\数字化之后\\上机名单-2014+图片路径.xls")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/419141
推荐阅读
相关标签
  

闽ICP备14008679号