Python3.遍历某文件夹提取特定文件名的实例
下面为大家分享一篇Python3.遍历某文件夹提取特定文件名的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧
批量处理文件时,常需要先遍历某个路径提取特定条件的文件名。这篇写一个暴力遍历但很简洁的方法,真的非常简洁但是非常暴力。
例子目标是:获得存放遥感数据的文件夹下文件夹名以“_BAD”结尾的文件夹内容。因为该文件下分级很多(年/月/产品类型/),目标文件夹很多且存在在最后一级,手动查看很烦。
代码如下(知识点总结代码后):
# -*- coding: utf-8 -*- """ 遍历某路径下所有文件夹,获得特定文件夹下所有文件 很暴力,真的遍历了所有的文件夹 20180124 @author: 墨大宝 """ import os TARGETPATH = r'F:\MODIS_DATA' records = [] for currentDir, _, includedFiles in os.walk(TARGETPATH): if not currentDir.endswith('_BAD'): continue else: records.append(currentDir) # 将以“_BAD”结尾的文件夹名加入records records.extend(includedFiles) # 将该文件夹内的文件名列表扩展到records # 将records写入.txt txtFile = open(os.path.join(TARGETPATH, '02_04_BAD.txt'), 'w') txtFile.write(os.linesep.join(records)) txtFile.close() # 将排序后的records写入.txt with open(os.path.join(TARGETPATH, '02_04_BAD_SORTED.txt'), 'w') as txtFile: txtFile.write('\n'.join(sorted(records)))
os.walk()返回Directory tree generator。每次生成格式为(dirpath, dirnames, filenames) 的tuple,元素依次是当前路径、当前路径下文件夹列表、当前路径下文件名列表。
list的.append()、.extend()和.sort()方法都是原地修改,sorted()函数不是。
将list写入.txt文件时需要把list转为str,直接用str()函数强转会很丑,用换行符连接list每个元素会好看很多。
os.path代表系统换行符,windows下为”\r\n”,其他系统多是”\n”。然而无论是用os.path还是”\n”连接列表元素,最后用windows记事本打开都一样换行,但是用vs code打开的话os.path会多换一行即看上去一行间一行,这里面到底为啥有点说到,可能和Python的write机制有关,暂时不深究(留坑)。
关于文件读写,大多数资料推荐with as形式,确实更简洁一点。
PS:
说os.walk()暴力是因为它真的按照目录树遍历了所给路径中的所有文件夹和文件,文件量大而所要找的文件名少的情况下会慢一些(其实我觉得慢不了多少),用os.listdir()写成递归函数的话执行效率可能会高一些,但是os.walk()逻辑简单好写,各位随意,我干了!
相关推荐:
以上是Python3.遍历某文件夹提取特定文件名的实例的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

默认情况下,Windows11不会在文件资源管理器中显示文件夹大小,但是,您可以在资源管理器设置中进行某些更改以使其可见。在本指南中,我们将讨论一些显示文件夹大小的最简单方法,以便您可以有效地管理PC上的磁盘空间。如何在Windows11上查看文件夹的大小?1.使用文件夹的“属性”窗口按+打开Windows资源管理器窗口。WindowsE转到要检查其大小的文件夹,右键单击它,然后从上下文菜单中选择“属性”。在文件夹属性窗口中,转到“常规”选项卡并找到“大小”部分以了解文件夹占用的空间。2.启用“

在本文中,我们将向您展示如何在Windows11/10上将文件自动复制到另一个文件夹。创建备份是避免数据丢失所必需的。数据丢失可能会发生由于许多原因,如硬盘损坏,恶意软件攻击等,您可以通过使用复制和粘贴方法或使用第三方工具手动备份数据。你知道你可以在Windows计算机上自动备份数据吗?我们将在本文中向您展示如何做到这一点。如何让文件自动复制到Windows11/10上的另一个文件夹如何使用任务计划程序在Windows11/10上自动复制文件和文件夹到另一个目标文件夹?本文将为您提供详细指导。请

win11系统给大家更新了很多的新壁纸,因此就会有不少的用户好奇win11壁纸在哪个文件夹,想要打开来看看这里面的壁纸,因此我们带来了教程让你们可以进入查看壁纸。win11壁纸在哪个文件夹:一、系统自带壁纸:1、首先进入我的电脑,然后依次打开路径:C:\Windows\Web\Wallpaper。2、然后进入windows文件夹,就可以看到系统自带的壁纸了。二、用户自存壁纸:1、用户自己安装的壁纸都会保存在:C:\Users(用户)\xx(当前用户名)\AppData\Local\Microso

最近很多小伙伴觉得win10的主题不符合自己的审美,想更换主题,在网上下载以后,发现找不到文件夹了,那么接下来小编就带你们去如何寻找win10主题在哪里文件夹吧。win10主题在哪个文件夹:一、Win10系统壁纸默认存放路径位置:1、微软将这些图片保存在C:\Windows\Web\Wallpaper这个路径中,其下有是三个不同主题的图片的默认保存位置,2、鲜花和线条和颜色的主题图片也保存在同名文件夹下!命名原则就是imgXXX,我们只要按照这个原则更改我们希望设定的相关图片的名称,将图片粘贴到

当您在您的同步文件夹中发现一个或多个项目与Outlook中的错误消息不匹配时,这可能是因为您更新或取消了会议项目。这种情况下,您会看到一条错误消息,提示您的本地数据版本与远程副本存在冲突。这种情况通常发生在Outlook桌面应用程序中。您同步的文件夹中的一个或多个项目不匹配。若要解决冲突,请打开这些项目,然后重试此操作。修复同步的文件夹中的一个或多个项目不匹配Outlook错误在Outlook桌面版中,当本地日历项与服务器副本发生冲突时,可能会遇到问题。不过,幸运的是,有一些简单的方法可以帮助您

更新了最新的win11系统之后,大部分的小伙伴都不清楚自己的文件夹该怎么去加密保护隐私,因此我们给大家带来了方法,一起看看win11电脑文件夹怎么设置密码吧。win11电脑文件夹怎么设置密码:1、首先去找到要加密的文件夹。2、然后右击这个文件夹,选择“属性”。3、在点击属性下面的“高级”。4、勾选菜单中的“加密内容以便保护数据”并点击确定。5、最后返回到文件夹的属性,在弹出的窗口中点击“确定”即可。

Windows文件夹包含Windows操作系统,是Windows计算机中的重要文件夹。默认情况下,Windows安装在C盘上。因此,C是Windows文件夹的默认目录。每台Windows计算机都有一个Windows文件夹。然而,一些用户报告说,在C盘中发现了两个Windows文件夹。在这篇文章中,我们将解释如果你遇到这样的情况你可以做什么。C盘中的两个Windows文件夹在C盘中有两个Windows文件夹的情况很少见。然而,如果你遇到这样的情况,你可以使用以下建议:运行反恶意软件扫描尝试查找正确
![如何在 Windows 11 上隐藏和取消隐藏文件夹 [3 种方式]](https://img.php.cn/upload/article/000/887/227/169542942766265.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
隐藏文件夹是保持桌面井井有条的好方法。也许您想让您的个人文件或一些客户详细信息远离窥探。不管是什么,在必要时将它们收起来并取消隐藏的能力是一个很大的节省。简而言之,这些隐藏文件不会显示在主菜单中,但它们仍然可以访问。这非常简单,不应该花费您太多时间。如何在Windows11中隐藏文件夹?1.使用文件资源管理器打+键打开文件资源管理器。WindowsE找到要隐藏的文件夹,右键单击它,然后选择属性。导航到常规选项卡,选中隐藏框,单击应用,然后单击确定。在下一个对话框中,选中将更改应用于此文件夹,子文
