یک برنامه پایتون بنویسید که هدرهای فایلهای سورس پایتون (docstring ماژول یا بلوک کامنتهای ابتدایی) را با استفاده از re.compile استخراج کرده و برای هر فایل نام فایل و متن هدر را در یک فایل خروجی CSV بنویسد.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:55 0.0
برای حل این مسئله با پایتون فایلها را بخوانید و از ماژول re استفاده کنید؛ دو الگوی regex کامپایل کنید: یکی برای docstring ماژول (مثلاً re.compile(r'^\s*(?P"""|\'\'\')(?P.*?)(?P=quote)', re.DOTALL|re.MULTILINE)) و دیگری برای بلوک کامنتهای شروع فایل (مثلاً re.compile(r'^\s*(?:#.*\n)+', re.MULTILINE)). از re.compile برای کارایی و خوانایی بهتر استفاده کنید، از raw string (r'...') بهره ببرید و برای تولید خروجی از ماژول csv یا نوشتن دستی رشتهها استفاده کنید؛ نکتهها: فایلهایی که هدر ندارند باید خالی ثبت شوند و برای تطابق متن چندخطی از پرچم re.DOTALL استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کارایی بهتر، الگوهای regex را یکبار کامپایل کرده و در حین پیمایش فایلها از آنها استفاده کنید. برای تشخیص دقیق هدر ماژول از ابتدای فایل، از DOTALL و MULTILINE استفاده شده و ترجیحاً از raw strings استفاده کنید و به encoding فایل توجه کنید. برای خروجی CSV، از csv.writer استفاده کنید تا مقادیر بهدرستی فرار (escape) شوند و اگر فایلی هدر ندارد، مقدار خالی ثبت شود. اگر در یک فایل چندین بخش هدر وجود داشت، تصمیم بگیرید که کدام یک را به عنوان هدر ثبت کنید تا خروجی ثبات پیدا کند.
گزارش