تمرين إعادة البناء
مخطط تغيير أحجام الصور
أنشئ خطة تغيير أحجام للصور بدون تعديل الملفات أو مكتبات خارجية.
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()اكتب هنا