یک اسکریپت پایتون بنویسید که یک پوشه را پیمایش کند و به همه فایل‌های .py که هنوز سرصفحهٔ کامنت "abc" را ندارند، یک هدر کامنت شامل "abc" و تاریخ اضافه کند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:30

0.0

برای حل این مسئله از ماژول‌های استاندارد پایتون مانند pathlib برای پیمایش فایل‌ها، datetime برای درج تاریخ و tempfile/os برای نوشتن اتمیک استفاده کنید: هر فایل .py را بخوانید، چند خط اول را برای وجود رشتهٔ "abc" چک کنید و اگر نبود، یک رشته هدر مثل "# abc — YYYY-MM-DD" بسازید و آن را در رأس فایل قرار دهید (در صورت وجود shebang مثل "#!/usr/bin/env python" آن را در بالاترین سطر حفظ کنید). نکات: از encoding='utf-8' استفاده کنید، قبل از تغییر فایل‌ها نسخهٔ پشتیبان بگیرید یا نوشتن اتمیک انجام دهید و برای پیمایش پوشه از Path.rglob('*.py') یا os.walk بهره ببرید.

توسط پژوهشگر در 221 روز قبل ساعت 01:30
دسته بندی ها: Python Python for beginner
arman در 221 روز قبل ساعت 13:00

نکتهٔ کلیدی این است که وجود یا عدم وجود هدر در چند سطر اول فایل را بررسی کنید تا از اضافه کردن دوباره جلوگیری شود. برای اتمیک‌سازی تغییرات از یک فایل موقتی استفاده کنید و سپس با عمل replace/rename بر روی فایل هدف اعمال کنید تا در صورت رخ دادن خطا، نسخهٔ اصلی سالم بماند. همچنین رعایت encoding='utf-8' و حفظ سطرِ نخستِ مربوط به shebang (اگر وجود دارد) الزامی است تا اجرا به درستی انجام شود. برای پیمایش پوشه از Path.rglob('*.py') یا os.walk استفاده کنید و تنها فایل‌های با پسوند .py را دستکاری کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری