آشنایی با ماژول pickle در پایتون
ماژول pickle در پایتون برای تبدیل اشیاء پایتونی به رشتههای باینری (سریالسازی) و برعکس (دسریالسازی) استفاده میشود. این فرآیند برای ذخیرهسازی و انتقال دادهها بین برنامهها یا فایلها بسیار مفید است.
کاربرد اصلی pickle
- ذخیره اشیاء در فایل برای بازیابی در آینده
- انتقال دادههای ساختاریافته بین برنامهها
- کَش کردن دادهها در حافظه یا فایل
سریالسازی (ذخیره شیء)
import pickle
data = {"name": "Alice", "age": 30, "skills": ["Python", "ML"]}
with open("data.pkl", "wb") as f:
pickle.dump(data, f)
تابع dump داده را به صورت باینری در فایل ذخیره میکند. باز شدن فایل باید در حالت "wb" باشد.
دسریالسازی (خواندن شیء)
with open("data.pkl", "rb") as f:
loaded_data = pickle.load(f)
print(loaded_data)
تابع load دادهی ذخیرهشده را بازسازی میکند. فایل باید در حالت "rb" باز شود.
سریالسازی در حافظه (بدون فایل)
binary = pickle.dumps(data) # تبدیل به bytes
original = pickle.loads(binary) # بازیابی از bytes
توابع dumps و loads برای کار با دادهها در حافظه و بدون فایل استفاده میشوند.
نکات امنیتی مهم
- هرگز فایل pickle را از منبعی غیرمطمئن بارگذاری نکنید؛ چون ممکن است شامل کدهای مخرب باشد.
- pickle دادهها را readable نمیکند (فرمت باینری)، برای خوانایی انسان از
jsonاستفاده کنید.
جمعبندی
ماژول pickle ابزاری قدرتمند برای ذخیره و بازیابی اشیاء پایتونی است، اما هنگام استفاده باید به امنیت دادهها توجه ویژه داشت.