با استفاده از 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 استفاده کن و خروجی را همراه با نام فایل چاپ کن تا قابل اتوماسیون در اسکریپت‌ها باشد.

توسط پژوهشگر در 220 روز قبل ساعت 03:12
دسته بندی ها: Python Python for beginner
arman در 220 روز قبل ساعت 07:11

برای ساخت فهرستی از فایل‌های با پسوند .py و .c از os.walk استفاده کنید و با fnmatch.fnmatch یا fnmatch.filter نام فایل‌ها را با این دو پسوند فیلتر کنید. هر فایل را تنها با چندصد بایت ابتدایی باز کنید و با regex بلاک‌های هدر را که شامل خطوط کامنت با # یا // یا docstringهای سه‌نقل‌قولی می‌شوند، شناسایی کنید (استفاده از re.S). برای مقابله با مشکلات encoding، خواندن با try/except و تلاش برای decode با چند encoding رایج را در نظر بگیرید و خروجی را همراه با نام فایل چاپ کنید تا بتوانید به راحتی از آن در اسکریپت‌های اتوماسیون استفاده کنید.

گزارش

1 پاسخ

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

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