تمرين إعادة البناء
تقرير أعمار الملفات
اعرض الملفات الأقدم من عدد أيام محدد دون حذفها أو تعديلها.
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()اكتب هنا