#!/Anaconda3/envs python38
# -*- coding:utf-8 -*-
'''
@Project: autoOffice
@Author: SiriBen
@Time: 2022/10/8 20:28
@File: imageFomatConversion.py
@Description: 图片格式转换
'''
import os
import subprocess
from subprocess import CalledProcessError
#获取所有后缀为HEIC的图片文件
def get_File_HEIC(dir_path):
files = os.listdir(dir_path)
fileNameList = []
for i in files:
if os.path.splitext(i)[1].upper() == '.HEIC'.upper():
fileName_ = ''.join(os.path.splitext(i))
fileNameList.append(fileName_)
print(fileNameList)
return fileNameList
#重组文件绝对路径,读书文件流
def read_image_file_rb(dir_path, fileNameList):
fileNameList_ = []
for i in fileNameList:
#重组文件绝对路径
file_name_path = dir_path + '\\' + i
fileNameList_.append(file_name_path)
print(fileNameList_)
return fileNameList_
#转换格式
'''
file_list:文件列表
fomatFile:待转换格式
toFile:目标格式后缀
fomatName:标准格式名称
'''
def heic_to_jpg(dir_path, file_list, formatFile, toFile):
#用于保存转换成功和失败的文件
successList = []
failList = []
for f in file_list:
str2_ = f.replace('\\', '/')
str_ = (dir_path.replace('\\', '/') + '/' + os.path.basename(f).split('.')[0] + '.' + toFile)
print(str2_)
print(str_)
cmd = ''
cmd += 'magick'
cmd += ' ' + str2_
cmd += ' ' + str_
print(cmd)
try:
cp = subprocess.run(cmd)
#根据返回值判断为0确定转换是否成功
if 'returncode=0' in str(cp):
print(str2_ + '转换成功')
successList.append(str2_)
else:
print(str2_ + '转换失败')
failList.append(str2_)
# subprocess.run(cmd, shell=True, check=True, capture_output=True, encoding='gbk')
# subprocess.run(cmd2.format(str2_, str_), shell=True, check=True, capture_output=True, encoding='gbk')
except CalledProcessError as e:
print(e)
print('[*]转换成功的文件{}个:{}'.format(len(successList), str(successList)))
print('[*]转换失败的文件{}个:{}'.format(len(failList), str(failList)))
if __name__=="__main__":
dir_path = r'F:/MyFiles/Photo'
print(dir_path)
#获取所有后缀为HEIC的图片文件
HEICImage_List = get_File_HEIC(dir_path)
fileNameList = read_image_file_rb(dir_path, HEICImage_List)
heic_to_jpg(dir_path, fileNameList, 'HEIC', 'JPG')
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
把苹果手机的照片通过共享的方式秒传到PC上作为备份,传是传过来了,不过用苹果手机拍摄的照片,统一为苹果手机专用格式,图片文件后缀为".HEIC",这个格式在其它操作系统上无法打开,windows系统所有的图片格式就没有包括这个,不知道格式工厂是否能转换,没有试过,想着又要安装一个软件,不是玩Python人的风格,所谓Python在手,天下我有。最后生成动态自定义目录和指定目标格式转换。由于pyheif只支持MAC和LINUX,不支持windows系统,所以该代码需要安装ImageMagick。资源为PYTHON代码,需要一定Python基础者使用,若无基础,可直接私我,定制做窗口界面便于无脑操作
资源详情
资源评论
资源推荐
收起资源包目录
imageFomatConversion.zip (1个子文件)
imageFomatConversion.py 3KB
共 1 条
- 1
SiriBen
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 时间复杂度与数据结构:算法效率的双重奏
- QT 简易项目 网络调试器(未实现连接唯一性) QT5.12.3环境 C++实现
- YOLOv3网络架构深度解析:关键特性与代码实现
- 2024 CISSP考试大纲(2024年4月15日生效)
- ACOUSTICECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK
- 深入解析:动态数据结构与静态数据结构的差异
- YOLOv2:在YOLOv1基础上的飞跃
- imgview图片浏览工具v1.0
- Toony Colors Pro 2 2.2.5的资源
- Java项目:基于SSM框架+Mysql+Jsp实现的药品管理系统(ssm+B/S架构+源码+数据库)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0