首页 后端开发 Python教程 Python3.遍历某文件夹提取特定文件名的实例

Python3.遍历某文件夹提取特定文件名的实例

Apr 27, 2018 am 10:49 AM
文件夹 鉴别

下面为大家分享一篇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()逻辑简单好写,各位随意,我干了!

相关推荐:

python 删除非空文件夹的实例

python复制文件到指定目录

python获取程序执行文件路径的方法

以上是Python3.遍历某文件夹提取特定文件名的实例的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
如何在 Windows 11 上显示文件夹大小? 如何在 Windows 11 上显示文件夹大小? Sep 23, 2023 pm 06:13 PM

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

如何让文件自动复制到Windows 11/10上的另一个文件夹 如何让文件自动复制到Windows 11/10上的另一个文件夹 Feb 19, 2024 am 11:24 AM

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

Win11背景图存储位置是什么? Win11背景图存储位置是什么? Dec 27, 2023 am 11:59 AM

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

如何详细介绍win10主题文件夹的位置 如何详细介绍win10主题文件夹的位置 Dec 27, 2023 pm 09:37 PM

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

您同步的文件夹中的一个或多个项目不匹配Outlook错误 您同步的文件夹中的一个或多个项目不匹配Outlook错误 Mar 18, 2024 am 09:46 AM

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

win11电脑文件夹设置密码方法 win11电脑文件夹设置密码方法 Jan 12, 2024 pm 02:27 PM

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

C驱动器中有两个Windows文件夹;我该怎么办? C驱动器中有两个Windows文件夹;我该怎么办? Mar 06, 2024 am 11:55 AM

Windows文件夹包含Windows操作系统,是Windows计算机中的重要文件夹。默认情况下,Windows安装在C盘上。因此,C是Windows文件夹的默认目录。每台Windows计算机都有一个Windows文件夹。然而,一些用户报告说,在C盘中发现了两个Windows文件夹。在这篇文章中,我们将解释如果你遇到这样的情况你可以做什么。C盘中的两个Windows文件夹在C盘中有两个Windows文件夹的情况很少见。然而,如果你遇到这样的情况,你可以使用以下建议:运行反恶意软件扫描尝试查找正确

如何在 Windows 11 上隐藏和取消隐藏文件夹 [3 种方式] 如何在 Windows 11 上隐藏和取消隐藏文件夹 [3 种方式] Sep 23, 2023 am 08:37 AM

隐藏文件夹是保持桌面井井有条的好方法。也许您想让您的个人文件或一些客户详细信息远离窥探。不管是什么,在必要时将它们收起来并取消隐藏的能力是一个很大的节省。简而言之,这些隐藏文件不会显示在主菜单中,但它们仍然可以访问。这非常简单,不应该花费您太多时间。如何在Windows11中隐藏文件夹?1.使用文件资源管理器打+键打开文件资源管理器。WindowsE找到要隐藏的文件夹,右键单击它,然后选择属性。导航到常规选项卡,选中隐藏框,单击应用,然后单击确定。在下一个对话框中,选中将更改应用于此文件夹,子文

See all articles