脚本功能
朋友做深度学习训练,需要对文件夹下所有图片文件进行记录,并且每个子文件夹内的图片属于一类,单独设置标签,将文件名 标签输出成filename_label.txt,训练时要求乱序,并且文件名和标签分别输入,即将其乱序并输出成filename.txt和label.txt。
涉及的语法
#将两个字符串组合,返回值为组合后的字符串
os.path.join(path,filename)
#获取指定路径下所有文件的文件名,并保存在list中
list=os.listdir(path)
#判断某个字符串路径是不是文件夹,返回bool
os.path.isdir(path)
#String.split函数,用于分裂字符串,返回值是一个list,保存了分裂后的多个子字符串
#下例代表将String从符号"/"分割,并取最后一部分
String.split("/")[-1]
#list的添加操作
list.append(String)
#打开文件操作,第二个参数是打开方式
#t 文本模式;x 写模式;b 二进制模式;+ 可读可写;U 通用换行模式;r 只读方式(光标放在文件开头)
#r+ 读写模式;w 写模式,覆盖;w+ 读写模式,覆盖;a 写模式,追加;a+ 读写模式,追加
#以上模式符号加上‘b’之后,表示以二进制操作文件
#打开后file即成为文件对象,操作完毕需要close
file=open('filepath','r+')
file.write("abc")
file.close
#另一种打开文件的方法, 且不需要close
with open('path','mode')as fp:
fp.write("abc")
#String.strip方法,移除字符串首尾的指定符号
String=String.strip('\n'