发布于2020-02-24 23:51 阅读(1189) 评论(0) 点赞(13) 收藏(5)
获取file_dir目录下,所有文本路径,包括子目录文件
def getFilePathList(file_dir):
'''
:param rootDir:
:return:
'''
filePath_list = []
for walk in os.walk(file_dir):
part_filePath_list = [os.path.join(walk[0], file) for file in walk[2]]
filePath_list.extend(part_filePath_list)
return filePath_list
获得file_dir目录下,后缀名为postfix所有文件列表,包括子目录
对文件目录进行筛选,只接受相应后缀名的文件
def get_files_list(file_dir, postfix=None):
'''
:param file_dir:
:param postfix: ['*.jpg','*.png'],postfix=None表示全部文件
:return:
'''
file_list = []
filePath_list = getFilePathList(file_dir)
if postfix is None:
file_list = filePath_list
else:
postfix = [p.split('.')[-1] for p in postfix]
for file in filePath_list:
basename = os.path.basename(file) # 获得路径下的文件名
postfix_name = basename.split('.')[-1]
if postfix_name in postfix:
file_list.append(file)
file_list.sort()
return file_list
获取files_dir路径下所有文件路径,以及labels,其中labels用子级文件名表示
def gen_files_labels(files_dir,postfix=None):
'''
files_dir目录下,同一类别的文件放一个文件夹,其labels即为文件的名
:param files_dir:
:postfix 后缀名
:return:filePath_list所有文件的路径,label_list对应的labels
'''
# filePath_list = getFilePathList(files_dir)
filePath_list=get_files_list(files_dir, postfix=postfix)
print("files nums:{}".format(len(filePath_list)))
# 获取所有样本标签
label_list = []
for filePath in filePath_list:
label = filePath.split(os.sep)[-2]
#使用os.sep的话,就不用考虑这个了,os.sep根据你所处的平台,自动采用相应的分隔符号。
label_list.append(label)
labels_set = list(set(label_list))
print("labels:{}".format(labels_set))
# 标签统计计数
# print(pd.value_counts(label_list))
return filePath_list, label_list
作者:sdhjsdh
链接:https://www.pythonheidong.com/blog/article/232890/e50e16901a580e571c92/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!