python写ios脚本_使用python脚本实现iOS图片资源压缩

最近公司有一个新的需求,要把代码进行瘦身,这篇博客记录下如何对图片进行压缩的。

原理:

写一个脚本,把图片文件夹'.xcassets'的所有文件遍历出来,然后使用一个第三方的算法把图片压缩后再替换回去

成果:

由于在该工程中的png图片已经压缩过了,这次只压缩了jgp为后缀的图片,可以看出,还是有效果的

代码如下:

import os

import tinify

import shutil

tinify.key = '5J54hg59ysAuhHFPxXB*******'

source_file = '/Users/user/Desktop/Hotel.xcassets'

dest_file = '/Users/user/Desktop/destimages'

def getPngFileNames(source_dir):

pngDicts = []

for (parent, dirnames, filenames) in os.walk(source_dir):

for filename in filenames:

if filename.endswith('.jpg'):

tempDict = {}

tempDict['name'] = filename

tempDict['path'] = os.path.join(parent, filename)

pngDicts.append(tempDict)

return pngDicts

def compressImages(uncompress_images):

for pngDict in uncompress_images:

source = tinify.from_file(pngDict['path'])

source.to_file(os.path.join(dest_file, pngDict['name']))

def replace_file(new_path, old_path):

pngs = getPngFileNames(source_file)

for name in os.listdir(new_path):

for pngDict in pngs:

if pngDict['name'] == name:

shutil.copyfile(os.path.join(new_path, name), pngDict['path'])

if __name__ == '__main__':

replace_file(dest_file, source_file)

# pngs = getPngFileNames(source_file)

# compressImages(pngs)

print('done')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值