یک اسکریپت پایتون بنویس که یک فایل لاگ HTTP را بخواند، هِدرهای هر درخواست را استخراج کرده و آن‌ها را به‌صورت مرتب و خوانا نمایش دهد (قابلیت نمایش تنها هدرهای مشخص‌شده با فیلتر نیز داشته باشد).

0.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:37

0.0

برای حل: با استفاده از ماژول‌های استاندارد پایتون مثل argparse برای دریافت مسیر فایل و آرگومان فیلتر، فایل را با with open بخوانید و با استفاده از الگوهای ساده (مثلاً re یا بررسی خطوطی که شکل "کلید: مقدار" دارند) هدرها را به یک دیکشنری تبدیل کنید؛ سپس با pprint یا logging آن‌ها را چاپ کنید. برای دیباگ از logging.basicConfig و logging.debug جهت نمایش وضعیت پردازش استفاده کنید، خطاها را با try/except مدیریت کرده و برای فیلتر کردن هدرها نام‌ها را به حروف کوچک تبدیل کنید تا مقایسهٔ ایمن انجام شود. این کار برای تست/دیباگ و استفاده در محیط‌های DevOps مفید است (مثلاً اضافه‌کردن خروجی قابل پارس شدن یا سوییچ سطح لاگ).

توسط پژوهشگر در 221 روز قبل ساعت 01:37
دسته بندی ها: Python Python for beginner
nima در 221 روز قبل ساعت 12:38

برای کار با فایل لاگ بسیار بزرگ، از یک حلقه با yield/iterator استفاده کنید تا مصرف حافظه پایین باشد. هنگام استخراج هدرها، به folding خطوط و هدرهای چندخطی توجه کنید و بهتر است از تقسیم خط با ':' و استفاده از maxsplit=1 استفاده کنید. فیلترها را به lowercase تبدیل کرده و با یک مجموعه مقایسه کنید تا حساسیت به حروف کوچک حذف شود. برای نمایش منظم، کلیدها را مرتب چاپ کنید و از pprint یا json.dumps با indent استفاده کنید. برای دیباگ، از logging استفاده کنید و استثناها را با try/except ثبت کنید تا خطاهای فایل را به‌خوبی دنبال کنید.

گزارش

1 پاسخ

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

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