python 读取文件夹中的文件名
看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是
这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来, 没有把找到的文件单独拿出来, 因为我的需求达到了,扩展项目是后来的人需要做的事情),话不多说,贴代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <code - pre class = "code-pre" id = "pre-s6dpPJ" ><code - line class = "line-numbers-rows" >< / code - line> #!/usr/bin/env python <code - line class = "line-numbers-rows" >< / code - line> # encoding: utf-8 <code - line class = "line-numbers-rows" >< / code - line> ''' <code-line class="line-numbers-rows"></code-line>1、读取指定目录下的所有文件 <code-line class="line-numbers-rows"></code-line>2、读取文件,正则匹配出需要的内容,获取文件名 <code-line class="line-numbers-rows"></code-line>3、打开此文件(可以选择打开可以选择复制到别的地方去) <code-line class="line-numbers-rows"></code-line>''' <code - line class = "line-numbers-rows" >< / code - line> import os.path <code - line class = "line-numbers-rows" >< / code - line> import re <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> # 遍历指定目录,显示目录下的所有文件名 <code - line class = "line-numbers-rows" >< / code - line> def eachFile(filepath): <code - line class = "line-numbers-rows" >< / code - line> pathDir = os.listdir(filepath) <code - line class = "line-numbers-rows" >< / code - line> for allDir in pathDir: <code - line class = "line-numbers-rows" >< / code - line> child = os.path.join( '%s\%s' % (filepath, allDir)) <code - line class = "line-numbers-rows" >< / code - line> if os.path.isfile(child): <code - line class = "line-numbers-rows" >< / code - line> readFile(child) <code - line class = "line-numbers-rows" >< / code - line> # print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题 <code - line class = "line-numbers-rows" >< / code - line> continue <code - line class = "line-numbers-rows" >< / code - line> eachFile(child) <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> # 遍历出结果 返回文件的名字 <code - line class = "line-numbers-rows" >< / code - line> def readFile(filenames): <code - line class = "line-numbers-rows" >< / code - line> fopen = open (filenames, 'r' ) # r 代表read <code - line class = "line-numbers-rows" >< / code - line> fileread = fopen.read() <code - line class = "line-numbers-rows" >< / code - line> fopen.close() <code - line class = "line-numbers-rows" >< / code - line> t = re.search(r 'clearSpitValve' ,fileread) <code - line class = "line-numbers-rows" >< / code - line> if t: <code - line class = "line-numbers-rows" >< / code - line> # print "匹配到的文件是:"+filenames <code - line class = "line-numbers-rows" >< / code - line> arr.append(filenames) <code - line class = "line-numbers-rows" >< / code - line> <code - line class = "line-numbers-rows" >< / code - line> if __name__ = = "__main__" : <code - line class = "line-numbers-rows" >< / code - line> filenames = 'D:\java\\answer\\Thinking in Java4 Answer' # refer root dir <code - line class = "line-numbers-rows" >< / code - line> arr = [] <code - line class = "line-numbers-rows" >< / code - line> eachFile(filenames) <code - line class = "line-numbers-rows" >< / code - line> for i in arr: <code - line class = "line-numbers-rows" >< / code - line> print i < / code - pre> |
满足我的需求,需要做的事情 分3步
1 2 3 | <code - pre class = "code-pre" id = "pre-ACFArz" ><code - line class = "line-numbers-rows" >< / code - line> 1 、读取指定目录下的所有文件 <code - line class = "line-numbers-rows" >< / code - line> 2 、读取文件,正则匹配出需要的内容,获取文件名 <code - line class = "line-numbers-rows" >< / code - line> 3 、打开此文件<br><br> 相对于java来说 ,用python写的话能少写 20 行左右的代码,生产效率大大提高。人都舒服点< / code - pre> |
__EOF__

本文作者:我在清水河边
本文链接:https://www.cnblogs.com/wzqshb/p/7239841.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/wzqshb/p/7239841.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗