Python学习杂记

1.想要按照某个文件夹里的所有文件名顺序读取并处理文件

首先,我文件夹里的文件名为:1.png,2.png......n.png;

首先,获取目标文件夹的路径:

png_folder = '/xxx/xxx/xxx' #这里是输入值的文件路径
out_foldet = '/cccc/cccc/ccc' #这里是输出值的文件路径

上述两个参数依次为输入、输出路径;然后进行下一步:按照文件名为输入流排序。

png_files = sorted(os.listdir(png_folder), key=lambda x: int(x.split('.')[0]))

这里的sorted是python内置函数,key参数指定了按照文件名的数字顺序进行排序。int(x.split('.')[0]) 表示取文件名中的数字部分,并将它们解析为整数类型

至此,文件流是按照文件名的整数大小进行升序排列。

然后按照文件流进行读取、处理:

for i in range(len(png_files)):
    png_use = png_files[i]
    #这里进行后续处理(使用OPENCV处理像素点对应的数据)
    png_image = cv2.cvtColor(cv2.imread(os.path.join(png_folder, png_file)), cv2.COLOR_BGR2RGB)

上述处理了这样一个过程:使用cv读取像素点的信息。

具体处理过程不展开,根据自己的需求处理;然后使用CV输出数据,并将数据存储在图像的rgb值中。

cv2.imwrite(os.path.join(output_folder, f'{i}.png'), 数据)
#这里的join的参数依次为:输出路径,
#输出文件名({i}是我自己定义一个可变的整数形参数),
#需要输出的数据(通常数据是多维度的)

你可能感兴趣的:(学习,python)