将一个文件夹里面的图片的名称打印成一个txt文件,里面包含各个图片的路径

# -*- coding:utf-8 -*-
# @Time : 2022-08-23 16:10
# @Author : DaFuChen
# @File : make_txt.py
# @software: PyCharm



import os
import numpy as np

def writ_txt_fuction(file_path):
    file_name = []
    file_list = os.listdir(file_path)

    # 下面的一部分代码是循环一个文件夹里面的多个子文件夹 就是一个文件夹里面包括多个子文件夹,子文件夹里面包含了一类的图片
    # for item in file_list:
    #     items_path = os.path.join(file_path, item)
    #     for items_name in os.listdir(items_path):
    #         file_name.append(file_path + '\\' + items_name + '\t' + item)

    # 写一个只对一个文件夹进行图片分类
    for item in file_list:
        # print(item)
        file_name.append(file_path + '\\' + item)




    # print(file_name)

    # 随机文件名列表
    # 设置一个随机种子,方便结果可以进行复现 这个种子一定需要使用np里面的,因为下面进行打散的就是使用的是np里面进行的随机分配种子
    np.random.seed(1980)
    np.random.shuffle(file_name)
    # print(file_name)


    # 划分为训练集,测试集 比例现在做成 8:2  使用已经完成了随机分散的那个新的列表值file_name文件夹
    # train = file_list[: int(len(file_list)* 0.8)]
    train = file_name[: int(len(file_name) * 0.8)]
    test = file_name[int(len(file_name)*0.8):]



    # 分别将上面的路径信息写入txt文件夹当中
    # 这两个txt文件夹需要自己进行创建
    # 完成换行操作
    with open('./fish_train.txt', 'w') as f1, open('./fish_test.txt', 'w') as f2:
        for i in train:
            # 加上种类的标签
            # red是那一类图片名字特有的名字
            if 'red' in i:
                # 再加上路径手写更快捷(* - . - *)!!!
                # 标签前面有一个空格 使用两条横杠替换目标
                # f1.write(b = i.replace("E:\Python代码汇总\A大三Python练习\鱼类分类\\fish2_data\\", "") + ' 0' + '\n')


                # 因为i是一个很长的地址,所以可以按照自己的需求进行修改代码即可,最后保留自己需要存储进去的路径信息就行了
                # 这里使用\\是为了满足项目要求
                b = i.replace("E:\Python代码汇总\A大三Python练习\鱼类分类\\fish2_data\\", "")
                c = b.replace("\\", "/")
                # 下面的 O 是我对这种鱼类的分类
                f1.write(c + ' 0' + '\n')
            else:
                b = i.replace("E:\Python代码汇总\A大三Python练习\鱼类分类\\fish2_data\\", "")
                c = b.replace("\\", "/")
                f1.write(c + ' 1' + '\n')


        # 注意这个写的对象是f2,需要重点关注好,写了f1就会发生错误
        for j in test:
            if 'red' in j:
                b = j.replace("E:\Python代码汇总\A大三Python练习\鱼类分类\\fish2_data\\", "")
                c = b.replace("\\", "/")
                f2.write(c + ' 0' + '\n')
            else:
                b = j.replace("E:\Python代码汇总\A大三Python练习\鱼类分类\\fish2_data\\", "")
                c = b.replace("\\", "/")
                f2.write(c + ' 1' + '\n')
    print("完成,但是最后因为换行有一个空行,需要清除一下方式有错误出现")






if __name__ == "__main__":
    file_path = r"E:\Python代码汇总\A大三Python练习\鱼类分类\fish2_data\fish_data\org_data"
    writ_txt_fuction(file_path)




我的文件夹里面包含了两种鱼类

                               

最后做成的txt文件里面的信息为:

这个是自己在阿里天池里面找到的一个开源的鱼类数据集,然后抱着玩玩的心态做的一个小尝试,然后很多的预处理代码也是借鉴CSDN的大佬的代码,但是因为参照了很多篇博客最后自己做出来的,所以就不一一列举这些博客了,因为我基本是将这些博客缝合,在这里感谢分享技术的大佬们。