یک برنامه پایتون بنویسید که هدرهای فایل‌های سورس پایتون (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 استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 01:55
دسته بندی ها: Python Python for beginner
nima در 220 روز قبل ساعت 11:35

برای کارایی بهتر، الگوهای regex را یک‌بار کامپایل کرده و در حین پیمایش فایل‌ها از آنها استفاده کنید. برای تشخیص دقیق هدر ماژول از ابتدای فایل، از DOTALL و MULTILINE استفاده شده و ترجیحاً از raw strings استفاده کنید و به encoding فایل توجه کنید. برای خروجی CSV، از csv.writer استفاده کنید تا مقادیر به‌درستی فرار (escape) شوند و اگر فایلی هدر ندارد، مقدار خالی ثبت شود. اگر در یک فایل چندین بخش هدر وجود داشت، تصمیم بگیرید که کدام یک را به عنوان هدر ثبت کنید تا خروجی ثبات پیدا کند.

گزارش

1 پاسخ

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

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