حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش پایتون پروژه‌محور؛ قسمت سوم: شیءگرایی تا ساخت برنامه

آموزش pickle در پایتون؛ ذخیره داده و نکات امنیتی

ذخیره داده در پایتون؛ فایل، JSON و pickle · 0٪

pickle داده‌های پایتون رو به شکلی تبدیل می‌کنه که بشه ذخیره‌شون کرد و بعداً دوباره خوندشون. اسم این کار سریال‌سازی هست. pickle نسبت به JSON از نوع‌های بیشتری پشتیبانی می‌کنه. خروجی اون باینری هست؛ برای فایل از wb و rb استفاده می‌شه. فایل pickle قالب مناسبی برای تبادل عمومی بین زبان‌ها نیست و جابه‌جایی اشیای کلاس‌ها ممکنه به نسخهٔ کد و مسیر ماژول وابسته باشه.

قاعدهٔ ضروری: بارگذاری pickle می‌تونه کد اجرا کنه. هرگز فایل، پیام یا bytes ناشناس رو با pickle.load یا pickle.loads باز نکن؛ پسوند فایل هم تضمینی ایجاد نمی‌کنه.

در این تمرین مرورگری فقط یک لیست رشته‌ای رو با pickle.dumps به bytes تبدیل و بلافاصله همون bytes تولیدشده در خود تابع رو با pickle.loads بازیابی کن. هیچ دادهٔ باینری خارجی ورودی تابع نیست. پروژهٔ کارها رو با JSON می‌سازیم چون دادهٔ ساده و قابل مشاهده داریم.

فعالیت شما

فرق متن JSON و داده باینری pickle رو بشناس و بدون چرا نباید pickle ناشناس رو باز کنی.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

فعالیت‌های این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

import pickle

def trusted_roundtrip(titles):
    # فقط دادهٔ همین فراخوانی را به bytes تبدیل کن و برگردان.
    pass