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

توسط پژوهشگر در 202 روز قبل ساعت 02:28
دسته بندی ها: Python Python for beginner
reyhaneh در 202 روز قبل ساعت 09:34

برای بهبود دقت، الگوی شما را با درنظر گرفتن async def هم گنجانید تا هدرهای توابع ناهمگام هم پیدا شوند: r'^\s*(?:async\s+)?def\s+\w+\s*\(.*\)\s*:'، همچنین بهتر است از finditer به جای فقط search استفاده کنید تا همه هدرها در هر فایل را بیابید و خروجی را به صورت فایل: هدرها ارائه کنید. از encoding='utf-8' مطمئن شوید و برای پیمایش پوشه از pathlib.rglob('*.py') استفاده کنید تا زیرشاخه‌ها نیز پوشش داده شوند. در نهایت بهبود خروجی با جداکردن هدرها با یک نشانگر واضح مثل ' | ' می‌تواند کار پردازش اتوماتیک را آسان کند.

گزارش

1 پاسخ

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

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