یک اسکریپت پایتون بنویسید که فایل پیکربندی INI مربوط به یک دستگاه IoT را خوانده، تمام بخشها (sections) را فهرست کند و در صورتی که بخش "network" وجود نداشته باشد آن را با تنظیمات پیشفرض اضافه کند و فایل را ذخیره نماید.
6.0 بازدید آخرین ویرایش در 199 روز قبل ساعت 23:52 0.0
برای حل این مسأله از ماژول استاندارد configparser در پایتون استفاده کنید: فایل را با ConfigParser().read() باز کنید، با متد sections() لیست بخشها را بدست آورید و با has_section() وجود بخش "network" را بررسی کنید؛ اگر نبود از add_section() و set() برای اضافه کردن تنظیمات پیشفرض (مثلاً ssid و password و mode) استفاده کرده و تغییرات را با open(..., 'w') و parser.write(file) ذخیره کنید. نکات: قبل از بازنویسی فایل از نسخه پشتیبان استفاده کنید، هنگام خواندن/نوشتن مسیر و encoding مناسب را در نظر بگیرید و توجه داشته باشید که configparser کامنتها را حفظ نمیکند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
قبل از بازنویسی فایل حتما یک نسخه پشتیبان بگیرید و برای ذخیرهسازی اتمیک ابتدا تغییرات را در یک فایل موقت بنویسید و سپس با os.replace فایل اصلی را جایگزین کنید تا از خرابی در حین نوشتن جلوگیری شود. هنگام خواندن/نوشتن از encoding='utf-8' استفاده کنید و پس از ذخیره مجوزهای فایل را تنظیم کنید تا دسترسی به گذرواژهها محدود شود؛ در صورت نیاز به امنیت بیشتر، به جای ذخیره متن ساده از رمزنگاری یا نگهداری امن استفاده کنید. توجه داشته باشید که configparser کامنتها و ترتیب اصلی را حفظ نمیکند، بنابراین اگر حفظ فرمت فایل مهم است از روشها یا کتابخانههای دیگر استفاده کنید.
گزارش