یک اسکریپت پایتون بنویسید که با استفاده از ماژول re و تابع search، هدرهای تابع (مثل خطوطی که با "def name(...):" شروع میشوند) را در همه فایلهای با پسوند .py در یک پوشه پیدا و نام فایل بههمراه هدرها را لیست کند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:28 0.0
برای حل این مسئله از ماژولهای استاندارد os یا pathlib برای پیمایش فایلها و از ماژول re برای تطبیق الگو استفاده کنید. الگوی پیشنهادی برای شناسایی هدر تابع میتواند چیزی مانند r'^\s*def\s+\w+\s*\(.*\)\s*:' با پرچم re.MULTILINE باشد؛ میتوانید هر فایل را با encoding='utf-8' باز کرده و خطبهخط یا کل محتوا را بخوانید و با re.search یا re.finditer بررسی کنید. نکات: از raw string برای الگوها استفاده کنید، برای شامل کردن زیردایرکتوریها از os.walk یا pathlib.rglob استفاده کنید و خروجی را به صورت "نام فایل: هدرها" نمایش دهید تا برای اتوماسیون یا پردازش بعدی قابل استفاده باشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای بهبود دقت، الگوی شما را با درنظر گرفتن async def هم گنجانید تا هدرهای توابع ناهمگام هم پیدا شوند: r'^\s*(?:async\s+)?def\s+\w+\s*\(.*\)\s*:'، همچنین بهتر است از finditer به جای فقط search استفاده کنید تا همه هدرها در هر فایل را بیابید و خروجی را به صورت فایل: هدرها ارائه کنید. از encoding='utf-8' مطمئن شوید و برای پیمایش پوشه از pathlib.rglob('*.py') استفاده کنید تا زیرشاخهها نیز پوشش داده شوند. در نهایت بهبود خروجی با جداکردن هدرها با یک نشانگر واضح مثل ' | ' میتواند کار پردازش اتوماتیک را آسان کند.
گزارش