AzLearn

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

تقرير أعمار الملفات

اعرض الملفات الأقدم من عدد أيام محدد دون حذفها أو تعديلها.

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

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

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


def file_age_days(path: Path, now: float) -> float:
    return (now - path.stat().st_mtime) / 86_400


def main() -> None:
    parser = argparse.ArgumentParser(description="Report files older than a number of days.")
    parser.add_argument("root", type=Path)
    parser.add_argument("--older-than", type=float, default=30)
    parser.add_argument("--glob", default="*")
    args = parser.parse_args()

    now = time.time()
    for path in sorted(args.root.rglob(args.glob)):
        if not path.is_file():
            continue
        age = file_age_days(path, now)
        if age >= args.older_than:
            modified = datetime.fromtimestamp(path.stat().st_mtime).date()
            print(f"{path}\t{age:.1f} days\tmodified {modified}")


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