با استفاده از Python فهرستی از فایلهای منبع در یک پوشه بساز که نام آنها با الگوی *.py یا *.c همخوانی داشته باشد و هدر (بلاک کامنت یا docstring) بالای هر فایل را با استفاده از fnmatch و regex استخراج و چاپ کند.
6.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:12 0.0
برای حل این مسئله از ماژولهای os و fnmatch برای پیداکردن فایلها و از ماژول re برای شناسایی هدر استفاده کن: با os.walk لیست فایلها را بگیر و با fnmatch.fnmatch یا fnmatch.filter نامهایی که با *.py یا *.c مطابقت دارند را فیلتر کن. سپس هر فایل را باز کرده و بخش آغازین را (مثلاً چند صد بایت اول) بخوان و با regex دنبال بلاک کامنتهای پشت سر هم (# یا //) یا docstringهای سهنقلقولی در پایتون بگرد (مثلاً re.match یا re.search با پرچم re.S). نکات: برای جلوگیری از خواندن کامل فایلهای بزرگ فقط مقداری از ابتدای فایل را بخوان، از try/except برای مدیریت encoding استفاده کن و خروجی را همراه با نام فایل چاپ کن تا قابل اتوماسیون در اسکریپتها باشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ساخت فهرستی از فایلهای با پسوند .py و .c از os.walk استفاده کنید و با fnmatch.fnmatch یا fnmatch.filter نام فایلها را با این دو پسوند فیلتر کنید. هر فایل را تنها با چندصد بایت ابتدایی باز کنید و با regex بلاکهای هدر را که شامل خطوط کامنت با # یا // یا docstringهای سهنقلقولی میشوند، شناسایی کنید (استفاده از re.S). برای مقابله با مشکلات encoding، خواندن با try/except و تلاش برای decode با چند encoding رایج را در نظر بگیرید و خروجی را همراه با نام فایل چاپ کنید تا بتوانید به راحتی از آن در اسکریپتهای اتوماسیون استفاده کنید.
گزارش