项目需要将指定路径下的图片名称保存成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()