AzLearn

تمرين إعادة البناء

مخطط تغيير أحجام الصور

أنشئ خطة تغيير أحجام للصور بدون تعديل الملفات أو مكتبات خارجية.

python ~15 دقيقة متوسط
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
import argparse
from pathlib import Path

IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".gif", ".webp", ".bmp"}


def planned_outputs(folder: Path, width: int, height: int) -> list[tuple[Path, Path]]:
    plans = []
    for path in sorted(folder.rglob("*")):
        if path.is_file() and path.suffix.lower() in IMAGE_EXTENSIONS:
            target = path.with_name(f"{path.stem}-{width}x{height}{path.suffix}")
            plans.append((path, target))
    return plans


def main() -> None:
    parser = argparse.ArgumentParser(description="Plan bulk image resize output names.")
    parser.add_argument("folder", type=Path)
    parser.add_argument("width", type=int)
    parser.add_argument("height", type=int)
    args = parser.parse_args()

    for source, target in planned_outputs(args.folder, args.width, args.height):
        print(f"{source} -> {target}")


if __name__ == "__main__":
    main()
اكتب هنا