یک اسکریپت پایتون بنویسید که با استفاده از re.match هدرهای تابع و کلاس را در یک فایل سورس پایتون شناسایی و نام و پارامترهای آنها را استخراج و چاپ کند.

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:01

0.0

فایل ورودی را خط به خط بخوانید و با الگوهای منظم (مثلاً r'^\s*def\s+(\w+)\s*\((.*?)\)\s*:' برای توابع و r'^\s*class\s+(\w+)\s*(?:\((.*?)\))?\s*:' برای کلاس‌ها) از ابتدای هر خط با re.match بررسی کنید و گروه‌های گرفته شده را برای نام و پارامترها استخراج کنید. الگوها را با re.compile از قبل آماده کنید و برای هر خط نتایج را چاپ کنید. نکات: از raw string برای الگوها استفاده کنید، خطوط خالی یا کامنت‌ها را نادیده بگیرید، و برای خواندن فایل از with open(...) بهره ببرید تا مدیریت منابع ساده باشد.

توسط پژوهشگر در 202 روز قبل ساعت 03:01
دسته بندی ها: Python Python for beginner
arash در 202 روز قبل ساعت 07:44

برای پیاده‌سازی پیشنهادی، از re.compile با الگوهای خام r'^\s*def\s+(\w+)\s*\((.*?)\)\s*:' و r'^\s*class\s+(\w+)\s*(?:\((.*?)\))?\s*:' استفاده کنید تا نام و پارامترها استخراج شوند. چون re.match فقط از ابتدای خط مطابقت می‌دهد، خطوطی که با فاصله‌های ابتدایی یا کامنت‌های خالی شروع می‌شوند را به درستی فیلتر کنید. توجه کنید تعریف‌های چند خطی یا پارامترهای چند مقداره ممکن است به ساختارهای پیچیده تبدیل شوند و در این صورت نیاز به تحلیل خطی به نگاه چندخطی یا بازنویسی الگوها است. همچنین با استفاده از with open(..., encoding='utf-8') فایل را بخوانید و پس از هر تطبیق، نام و پارامترها را چاپ کنید.

گزارش

1 پاسخ

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

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