【发布时间】:2021-06-16 18:23:40
【问题描述】:
我已经修改了一个 vk4 转换器以允许将多个 .vk4 文件转换为 .jpg 图像文件。运行时,IDLE 不会给我一个错误,但它只在结束进程之前设法转换一个文件。我认为问题在于 image.save() 似乎只影响单个文件,并且我未能成功循环该命令以扩展到目录中的所有其他文件。
代码:
import numpy as np
from PIL import Image
import vk4extract
import os
os.chdir(r'path\to\directory')
root = ('.\\')
vkimages = os.listdir(root)
for img in vkimages:
if (img.endswith('.vk4')):
with open(img, 'rb') as in_file:
offsets = vk4extract.extract_offsets(in_file)
rgb_dict = vk4extract.extract_color_data(offsets, 'peak', in_file)
rgb_data = rgb_dict['data']
height = rgb_dict['height']
width = rgb_dict['width']
rgb_matrix = np.reshape(rgb_data, (height, width, 3))
image = Image.fromarray(rgb_matrix, 'RGB')
image.save('sample.jpeg', 'JPEG')
在使用 PIL 模块时如何防止转换后的文件被覆盖?
谢谢。
【问题讨论】:
标签: python save python-imaging-library jpeg enumerate