一个设计师给了我很多很多SVG文件,一个SVG文件一帧,文件名格式是帧编号.svg
,用于创建逐帧动画。
由于是SVG逐帧动画(一个小人嘴巴动啊动眼睛眨巴眨巴的),有很多重复帧,但前后两帧肯定不一样。
不可通过沟通的方式知道哪些帧是重复的;人工辨别两个文件是否一样的工作量非常大。
为了压缩图片数,如何快速列出互不重复的SVG文件列表,同时构建帧编号-互不重复的SVG文件
的关系?
一个设计师给了我很多很多SVG文件,一个SVG文件一帧,文件名格式是帧编号.svg
,用于创建逐帧动画。
由于是SVG逐帧动画(一个小人嘴巴动啊动眼睛眨巴眨巴的),有很多重复帧,但前后两帧肯定不一样。
不可通过沟通的方式知道哪些帧是重复的;人工辨别两个文件是否一样的工作量非常大。
为了压缩图片数,如何快速列出互不重复的SVG文件列表,同时构建帧编号-互不重复的SVG文件
的关系?
我用Python:
用一个dict,key为SHA256签名,value为一个list,保存有对应的文件路径(可能有多个文件)。
然后,打印出来value的长度大于一的值就好(也可以直接删除一个)。
一个思路是:
A/
下并重命名(mv命令),规则是帧数-md5(文件内容).扩展名
(md5sum命令)B/
下并重命名,规则是md5(文件内容).扩展名
A/
的文件名列表是帧数-文件
关系,B/
下面的文件是提供给用户的互不重复的文件。由于设计师及时出现,沟通过后问题不需要通过shell代码就解决了=w=
希望大家不局限于这个方案,好想知道大家是怎么解决这类问题的=w=