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

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

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

我希望通过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")

输出结果:

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

只要将上文代码中

    if name in item:

  改为

     if name+".txt" == item:

  即可

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

# -*-coding:utf-8-*-
import xlrd
import os
import re
from xlwt import *
from xpinyin import Pinyin
pa=None
myItem_path = [] def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
return(dirs) #当前路径下所有非目录子文件 def search(path=".", name=""):
for item in os.listdir(path):
global pa
item_path = os.path.join(path, item)
if os.path.isdir(item_path):
search(item_path, name)
# if(t==None):pa=None
elif os.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")

python笔记之按文件名搜索指定路径下的文件的更多相关文章

  1. Python获取指定路径下所有文件的绝对路径

    需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...

  2. 初识TypeScript:查找指定路径下的文件按类型生成json

    如果开发过node.js的话应该对js(javascript)非常熟悉,TypeScript(以下简称ts)是js的超集. 下面是ts的官网: https://www.tslang.cn/ 1.环境配 ...

  3. C#递归搜索指定目录下的文件或目录

    诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[ ...

  4. Java递归输出指定路径下所有文件及文件夹

    package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void ...

  5. Linux—find在指定路径下查找文件或目录

    find /指定路径  -name  "*filename*" find /指定路径  -name  "*filename*"  2>/dev/null  ...

  6. linux-在指定路径下查询文件夹是否存在

    我们常常在Linux下去查找文件 find / -name 'test.py' # 在根目录下查找名为test.py的文件 但是如果用查找文件的方式去查找文件夹的话,是查不到的 find / -max ...

  7. jenkins bat删除指定路径下的文件及文件夹

    最近在用jenkins集成,生成allure测试报告,但是每次生成的allure测试报告,都是上一次执行的痕迹.比如这次我只运行了100个用例,结果显示运行2000条,上一次运行的用例,时间也涵括了上 ...

  8. java打印出某一指定路径下的文件夹内的所有子文件夹和文件,并区分开来

    public class printoutFile { public static void main(String[] args) { printFile(new File("D:\\te ...

  9. C#遍历指定路径下的目录

    通过指定路径訪问路径下的文件.在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间 System.IO 命名空间 1.Create ...

随机推荐

  1. java继承 、方法重写、重写toString方法

    1.Java的继承,关键词Extends package cn.mwf.oo; public class TextExtends { public static void main(String[] ...

  2. spark 程序 windows 运行报错

    1 java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at ...

  3. linux 服务器配置 ASF 云挂卡

    关于社区打不开:https://github.com/zyfworks/AnotherSteamCommunityFix 下载asf:https://github.com/JustArchi/Arch ...

  4. Centos7服务器搭建部署显卡计算环境以及常用软件的安装使用

    安装好anaconda的服务器上会more你已经安装好jupyter notebook,执行下面的命令可以提供链接地址允许远程浏览器打开并访问: jupyter notebook --no-brows ...

  5. 项目Alpha冲刺——总结

    作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 完成项目Alpha冲刺 团队信息 队名:火鸡堂 队员学号 队员姓名 博客地址 ...

  6. test20190925 老L

    100+0+0=100.概率题套路见的太少了,做题策略不是最优的. 排列 给出 n 个二元组,第 i 个二元组为(ai,bi). 将 n 个二元组按照一定顺序排成一列,可以得到一个排列.显然,这样的排 ...

  7. Browsersync 省时浏览器同步测试工具,浏览器自动刷新,多终端同步

    官网地址 http://www.browsersync.cn/ 1.安装 BrowserSync npm install -g browser-sync 2.启动 BrowserSync // --f ...

  8. GitHub与Markdown(学习笔记)

    一.学前提问: 1.GitHub用翻墙吗? 访问 GitHub 不用翻墙,只是可能访问速度稍慢些. 2.英语差学得会吗? GitHub 虽然都是英文,但是,对英语水平的要求不是那么高,都是些简单的单词 ...

  9. volatile 关键词

    volatile 关键字指示一个字段可以由多个同时执行的线程修改. 出于性能原因,编译器,运行时系统甚至硬件都可能重新排列对存储器位置的读取和写入. 声明了 volatile 的字段不进行这些优化.这 ...

  10. LeetCode 1027. Longest Arithmetic Sequence

    原题链接在这里:https://leetcode.com/problems/longest-arithmetic-sequence/ 题目: Given an array A of integers, ...