آشنایی با ماژول 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
ابزاری قدرتمند برای ذخیره و بازیابی اشیاء پایتونی است، اما هنگام استفاده باید به امنیت دادهها توجه ویژه داشت.