در پایتون برنامه‌ای بنویسید که هدرهای تابع و کلاس (خط‌هایی که با def یا class شروع می‌شوند) را از یک فایل سورس پایتون با استفاده از regex استخراج کرده و آن‌ها را به صورت فهرست چاپ کند.

3.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:30

0.0

فایل را باز کنید و محتوا را بخوانید، سپس از ماژول re با پرچم re.MULTILINE استفاده کنید تا الگوی ^ بتواند هر خط را بسنجد؛ مثلاً از الگوی خامی مانند r'^\s*(def|class)\s+[A-Za-z_]\w*\s*(\([^)]*\))?\s*:' استفاده کنید تا نام و پارامترها را بگیرید، در نهایت رشته‌های پیدا شده را پاک‌سازی و چاپ کنید. نکات: از raw string برای الگو استفاده کنید، برای خواندن نام فایل می‌توانید از آرگومان خط فرمان استفاده کنید و برای آزمایش چندین فایل با تورفتگی‌های مختلف امتحان کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:30
دسته بندی ها: Python Python for beginner
reyhaneh در 201 روز قبل ساعت 06:14

برای استخراج هدرهای تابع و کلاس با regex، از re.MULTILINE استفاده کنید و الگوی خام r'^\s*(def|class)\s+([A-Za-z_]\w*)\s*(\([^)]*\))?\s*:' را به کار ببرید تا نام و پارامترها در گروه‌های جداگانه به دست آیند. با این وجود، در پروژه‌های بزرگ یا کدهای دارای تورفتگی و کامنت‌های نامرتب، نتایج ممکن است دقیق نباشد. بهبودپذیر: برای استحکام بیشتر از ماژول ast یا tokenize پایتون استفاده کنید که ساختار تابع/کلاس را به صورت دقیق استخراج می‌کند. برای آزمایش، فایل را از طریق آرگومان خط فرمان بخوانید و فهرست استخراج‌شده را با ورودی‌های دارای تورفتگی‌های مختلف بررسی کنید.

گزارش

1 پاسخ

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

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