图片大小统计排序脚本:python
asset_dir = "/Users/../Assets.xcassets" # 这里替换为Assets.xcassets的路径
这里统计结果使用md文档,表格输出。
统计类型:'.png', '.jpg', '.jpeg', '.gif', '.tiff', '.webp', '.svg', '.pdf'
文件名 | 文件大小 (KB) | 文件路径 |
---|---|---|
image1.png | 123.45 | /path/to/Assets.xcassets/image1.png |
image2.pdf | 234.56 | /path/to/Assets.xcassets/image2.pdf |
image3.svg | 89.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}")