Python使用os模块批量提取文件名并生成列表文件
本文介绍如何利用Python的os模块批量获取指定文件夹下的文件名,并筛选特定格式(如jpg)写入文本文件。通过示例代码展示路径切换、列表读取及文件写入过程,生成的名单文件可直接用于后续的数据遍历与处理,提高批量操作效率。
Python批量提取文件名并生成列表文件
在实际开发中,经常需要对大量文件(例如图片资源)进行批量处理。
为了高效遍历这些文件,首先需要获取它们的名称列表。有时还需要根据特定条件进行筛选,比如仅处理jpg格式的图片文件。
本文将演示如何遍历指定文件夹内的图片,并将所有符合条件的文件名写入到一个文本文件中。
生成的文件名列表文件可以进一步用于自动化遍历和处理数据。
#! usr/bin/env python
# coding: utf-8
# 为了自动获取文件夹下的名字并将其写入文件,然后利用该文件来处理对应的文件
import os
import numpy as np
import cv2
# 先进行路径操作
currentRoot = os.getcwd() # 当前路径
imgRoot = currentRoot + '/img' # 图片所在的路径
os.chdir(imgRoot) # 切换到图片所在的路径
# 开始读取文件并将其名称写入一个文件
fileNames = open('imgName.txt','w') # 将要写入文件名的文件, w表示write
file = os.listdir(imgRoot) # 读取某个文件夹下的所有文件
for i in file: #采用文件句柄的方式遍历文件
if os.path.splitext(i)[1]=='.jpg': # 判断是否是jpg文件,我们只对jpg文件进行操作
data = str(i) + '\n' # 将文件名和换行放在一起,文件名采用相对路径
fileNames.write(data) # 开始写入文件
fileNames.close() # 最后关掉文件
执行上述代码后,会生成一个包含文件名的文本文件,具体效果可参考下图。

该文件的内容展示如下:

如果再次运行代码,文件内容将保持不变。这是因为文件夹中已经存在名为imgName的文件,尽管其扩展名为txt,但不会干扰原有的处理逻辑。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









