iOS 图片大小统计排序脚本

334 阅读1分钟

图片大小统计排序脚本:python

asset_dir = "/Users/../Assets.xcassets"  # 这里替换为Assets.xcassets的路径

这里统计结果使用md文档,表格输出。

统计类型:'.png', '.jpg', '.jpeg', '.gif', '.tiff', '.webp', '.svg', '.pdf'

文件名文件大小 (KB)文件路径
image1.png123.45/path/to/Assets.xcassets/image1.png
image2.pdf234.56/path/to/Assets.xcassets/image2.pdf
image3.svg89.67/path/to/Assets.xcassets/image3.svg

我们可以根据结果优化前十的图片。

图片压缩优化工具:www.maxai.me/zh-CN/

import os

# 递归遍历Assets.xcassets文件夹,获取所有图片文件
def get_image_files(asset_dir):
    image_files = []
    for root, dirs, files in os.walk(asset_dir):
        for file in files:
            if file.endswith(('.png', '.jpg', '.jpeg', '.gif', '.tiff', '.webp', '.svg', '.pdf')):  # 支持的文件类型增加.svg和.pdf
                file_path = os.path.join(root, file)
                file_size = os.path.getsize(file_path)
                image_files.append((file, file_size, file_path))
    return image_files

# 按文件大小对图片进行排序
def sort_images_by_size(image_files):
    return sorted(image_files, key=lambda x: x[1], reverse=True)  # 按大小降序排序

# 将结果保存为markdown文件
def save_to_markdown(image_files, output_file):
    with open(output_file, 'w') as f:
        # 写入表格标题
        f.write("| 文件名 | 文件大小 (KB) | 文件路径 |\n")
        f.write("|--------|---------------|----------|\n")
        
        # 写入每个文件的信息
        for file_name, file_size, file_path in image_files:
            f.write(f"| {file_name} | {file_size / 1024:.2f} | {file_path} |\n")

if __name__ == "__main__":
    asset_dir = "/Users/../Assets.xcassets"  # 这里替换为Assets.xcassets的路径
    output_file = "image_file_sizes.md"  # Markdown文件的输出路径
    
    image_files = get_image_files(asset_dir)
    sorted_image_files = sort_images_by_size(image_files)
    save_to_markdown(sorted_image_files, output_file)
    
    print(f"Markdown文件已保存至: {output_file}")