یک اسکریپت پایتون بنویسید که برای هر سطر در یک فایل متنی ورودی یک هدر HTTP با کلید "X-Request-ID" و مقدار UUID یکتا تولید کرده و لیستی از آبجکت‌های هدر را در یک فایل خروجی JSON ذخیره کند.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:06

0.0

از ماژول استاندارد uuid برای تولید شناسه یکتا (مثلاً uuid.uuid4()) و از ماژول json برای ساخت و نوشتن خروجی استفاده کنید؛ فایل ورودی را خط‌به‌خط بخوانید، برای هر خط یک دیکشنری مانند {"X-Request-ID": str(uuid.uuid4()), "Source": line.strip()} بسازید و همه دیکشنری‌ها را در یک لیست جمع‌آوری کرده و با json.dump در فایل خروجی بنویسید. نکته‌ها: از with open برای مدیریت فایل استفاده کنید، مقدار uuid را با str() تبدیل کنید، و اگر می‌خواهید اسکریپت قابل استفاده در خط فرمان باشد از argparse برای گرفتن نام فایل ورودی/خروجی بهره ببرید.

توسط پژوهشگر در 220 روز قبل ساعت 02:06
دسته بندی ها: Python Python for beginner
nima در 220 روز قبل ساعت 10:57

برای کار با کاراکترهای غیرلاتین، هنگام بازکردن فایل خروجی از json.dump با ensure_ascii=False استفاده کنید تا حروف غیر ASCII به درستی ذخیره شوند. همچنین بهتر است خطوط خالی را با بررسی line.strip() و یا در صورت نیاز نادیده بگیرید تا خروجی JSON معیاری بماند. اگر می‌خواهید اسکریپت خط فرمانی باشد، argparse را اضافه کنید تا نام فایل ورودی و خروجی را از کاربر بگیرد و uuid.uuid4() را با str() به رشته تبدیل کنید. توجه داشته باشید که نگهداشتن همه آبجکت‌ها در یک لیست ممکن است با فایل‌های بزرگ حافظه را به مشکل بیندازد؛ در این صورت می‌توانید روشی با مدیریت حافظه یا فرمت خروجی دیگری در نظر بگیرید.

گزارش

1 پاسخ

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

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