批量读取多个文件夹下的文件名,保存为txt
1. 只保存文件名
(1)相关函数
os.walk()的语法格式如下,其中top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files),具体见: 菜鸟教程.
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
open() 函数用于打开一个文件,创建一个 file 对象,语法格式如下,name是包含了你要访问的文件名称的字符串值, mode 决定了打开文件的模式(默认为r,只读模式打开文件),具体见: 菜鸟教程.
open(name[, mode[, buffering]])
writelines() 函数用于向文件中写入一系列字符串,方法语法如下:
fileObject.writelines( [ str ])
(2)读取指定路径下的子目录
![](https://img-blog.csdnimg.cn/20210124205433704.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMTgzOQ==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210124205543703.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMTgzOQ==,size_16,color_FFFFFF,t_70)
定义file_dirs(),返回子目录列表,
import os
from argparse import ArgumentParser
# 设置常用参数
parser = ArgumentParser(description='process')
parser.add_argument("--save_path", type=str,
default='E:\\aboutVS\\pycharm\\saliency(paper)\\PythonProject\CNNIQA-master\\data\\cross_data',
help="save txt path")
parser.add_argument("--image_path", type=str, default='E:\\aboutVS\\dataset\\image\\cross_dataset')
args = parser.parse_args()
def file_dirs(path):
for root, dirs, files in os.walk(path):
dirs
return dirs;
![](https://img-blog.csdnimg.cn/20210124205651795.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEwMTgzOQ==,size_16,color_FFFFFF,t_70)
定义file_name(),返回文件名列表,
# 读取文件夹里图片名字
def file_name<