项目需要将指定路径下的图片名称保存成list.txt文件,面对这个需求,下意识觉得可以通过Python可以快速完成,而不用手工慢慢copy/paste。这个需求主要有两部分工作:(1)遍历指定路径下的所有文件名。(2)将文件名保存到txt文档中。
通过网上查找资料,发现实现起来非常简单,主要用到以下几个知识点。
Python自带的os库。
文件I/O。
os库主要用到os.listdir()函数和os.path.join()函数。
1.1 os.listdir函数用于返回指定的文件夹包含的文件或文件夹的名字的列表。
1.2 os.path.join()函数用于把目录和文件名合成一个路径。
文件I/O主要用到open()函数、close函数和writelines()函数。
2.1 writelines()函数用于向文件中写入一序列的字符串。
具体代码实现如下:
import os
def gci(filepath):
files = os.listdir(filepath)
for fi in files:
fi_d = os.path.join(filepath, fi)
if os.path.isdir(fi_d):
gci(fi_d)
else:
str=os.path.join(filepath, fi_d)[:-4]+'.bmp'+'\n'
list_txt.writelines(str)
#recursion traverse
list_txt=open('list.txt','w')
path=r'D:\work\errorPic'
gci(path)
list_txt.close()
本文参考:
[零基础机器学习之Python进阶-(3)如何用python遍历文件夹中的所有文件(https://cloud.tencent.com/developer/news/326530)
[深度学习,图片数据集生成标签文件列表,即.txt文件(lmdb文件格式)(https://blog.csdn.net/qxqsunshine/article/details/80154969)