任务需求:最新包体越来越大,不得不想办法压缩体积,了解到https://tinify.cn是个很好的网站能够很大程度的压缩png图片的体积,但是每次只能压缩20张,非常麻烦。
实现方法:使用python就可以快速把所有要压缩的图片自动压缩啦,不用再自己手动拉来拉去。
前期准备:python。
笔者使用的是python27版本,需要有pip功能,而安装pip必须先得有setuptools功能。这里一起介绍下。
第一步:安装python27和配置相关环境变量,这个就不说了,网上一搜一堆,有一点要注意的是,下载的python是32bit还是64bit要和电脑对应上,可直接在cmd中输入 python -v 在最后一行查看。
第二步:安装setuptools。https://pypi.org/project/setuptools/ 直接下载最新,解压到本地后,在解压后的文件里,shift+右键,在此处打开命令窗口,输入 python setup.py install 即可安装,并在环境变量中加上 C:\Python27\Scripts。(请按自己的path中python值来加)
第三步:打开cmd,输入 easy_install pip 即可安装pip。
可参考:https://www.cnblogs.com/kongxc/p/7787670.html
脚本实现:
pip安装好了以后,直接cmd输入 pip install --upgrade tinify 。
以上,就安装好了工具。
然后还要去 https://tinify.cn/developers 此网站注册一个自己的账号,每个账号能够压缩500个文件。
注册账号后会获得一个key,把这个key输入到代码的 tinify.key 中。
最后,使用python,不知道简书里怎么加附件,这里就直接把代码贴出来了。直接把这个python文件放到要压缩的文件夹中运行即可。
以下是代码部分
import tinify
import os
import sys
import shutil
tinify.key = "Your key"
Resources_local_path = os.path.join(os.path.realpath(__file__), "..")
index = 0
print(Resources_local_path)
for(root, dirs, files) in os.walk(Resources_local_path, topdown=False):
for filename in files:
if '.png' in filename:
source = tinify.from_file(root + "\\" + filename)
source.to_file(root + "\\" + filename)
index = index + 1
print(index)
pass
print('all files successful')