1. png转jpg
import os
from PIL import Image
# 获取指定目录下的所有png图片
def get_all_png_files(dir):
files_list = []
for root, dirs, files in os.walk(dir):
for file in files:
if os.path.splitext(file)[1] == '.png':
files_list.append(os.path.join(root, file))
return files_list
# 批量转换png图片为jpg格式并保存到新的文件夹
def png2jpg(files_list, output_dir):
for file in files_list:
img = Image.open(file)
new_file = os.path.splitext(file)[0] + '.jpg'
output_file = os.path.join(output_dir, os.path.basename(new_file))
img.convert('RGB').save(output_file)
if __name__ == '__main__':
dir = 'D:\Assistant\Desktop\ICStudy\集创赛\分赛区决赛' # png图片目录
output_dir = 'D:\Assistant\Desktop\ICStudy\集创赛\转换后的图片' # 新的文件夹路径
files_list = get_all_png_files(dir)
png2jpg(files_list, output_dir)
请确保在运行代码之前,目标文件夹 'D:\Assistant\Desktop\ICStudy\转换后的图片'
已经存在,这样转换后的图片就会保存在这个新的文件夹中。如果新文件夹不存在,你可以提前创建它。记得将 dir
和 output_dir
的路径修改为你实际的文件夹路径。
2. jpg转png
import os
from PIL import Image
# 获取指定目录下的所有jpg图片
def get_all_jpg_files(dir):
files_list = []
for root, dirs, files in os.walk(dir):
for file in files:
if os.path.splitext(file)[1] == '.jpg':
files_list.append(os.path.join(root, file))
return files_list
# 批量转换jpg图片为png格式并保存到新的文件夹
def jpg2png(files_list, output_dir):
for file in files_list:
img = Image.open(file)
new_file = os.path.splitext(file)[0] + '.png'
output_file = os.path.join(output_dir, os.path.basename(new_file))
img.convert('RGBA').save(output_file)
if __name__ == '__main__':
dir = 'D:\Assistant\Desktop\ICStudy\集创赛\images' # jpg图片目录
output_dir = 'D:\Assistant\Desktop\ICStudy\集创赛\png' # 新的文件夹路径
files_list = get_all_jpg_files(dir)
jpg2png(files_list, output_dir)
请确保在运行代码之前,目标文件夹 './converted_png'
已经存在,这样转换后的图片就会保存在这个新的文件夹中。如果新文件夹不存在,你可以提前创建它。记得将 dir
和 output_dir
的路径修改为你实际的文件夹路径。