Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन पिकलिंग (Python Pickling)

पायथन pickle मॉड्यूल का उपयोग पायथन ऑब्जेक्ट संरचनाओं को सीरियलाइज़ और डी-सीरियलाइज़ करने के लिए किया जाता है। किसी भी प्रकार के पायथन ऑब्जेक्ट्स (सूची, शब्दकोश, आदि) को बाइट स्ट्रीम (0 और 1) में परिवर्तित करने की प्रक्रिया को पिकलिंग या सीरियलाइज़ेशन या फ्लैटनिंग या मार्शलिंग कहा जाता है। हम पिकलिंग के माध्यम से उत्पन्न बाइट स्ट्रीम को अनपिकलिंग नामक प्रक्रिया द्वारा वापस पायथन ऑब्जेक्ट्स में परिवर्तित कर सकते हैं।

पिकल क्यों?: वास्तविक दुनिया के परिदृश्य में, पिकलिंग और अनपिकलिंग का उपयोग व्यापक है क्योंकि वे हमें एक सर्वर/सिस्टम से दूसरे में डेटा को आसानी से स्थानांतरित करने और फिर इसे फ़ाइल या डेटाबेस में संग्रहीत करने की अनुमति देते हैं।

सावधानी: किसी अविश्वसनीय स्रोत से प्राप्त डेटा को अनपिकल न करने की सलाह दी जाती है क्योंकि वे सुरक्षा खतरा पैदा कर सकते हैं। हालांकि, pickle मॉड्यूल के पास दुर्भावनापूर्ण डेटा को पिकलिंग करते समय जानने या अलार्म उठाने का कोई तरीका नहीं है।

केवल pickle मॉड्यूल आयात करने के बाद हम पिकलिंग और अनपिकलिंग कर सकते हैं। pickle आयात निम्नलिखित कमांड का उपयोग करके किया जा सकता है:

import pickle

पिकल उदाहरण:

नीचे एक सरल प्रोग्राम है कि कैसे एक सूची को पिकल करें:

एक साधारण सूची को पिकल करें: Pickle_list1.py

import pickle
mylist = ['a', 'b', 'c', 'd']
with open('datafile.txt', 'wb') as fh:
    pickle.dump(mylist, fh)

उपरोक्त कोड में, सूची - "mylist" में चार तत्व ('a', 'b', 'c', 'd') हैं। हम फ़ाइल को "wb" मोड में खोलते हैं "w" के बजाय क्योंकि सभी ऑपरेशन वर्तमान कार्य निर्देशिका में बाइट्स का उपयोग करके किए जाते हैं। "datafile.txt" नामक एक नई फ़ाइल बनाई जाती है, जो mylist डेटा को बाइट स्ट्रीम में परिवर्तित करती है।

एक साधारण सूची को अनपिकल करें: unpickle_list1.py

import pickle
pickle_off = open("datafile.txt", "rb")
emp = pickle.load(pickle_off)
print(emp)

आउटपुट: उपरोक्त स्क्रिप्ट चलाने पर, आप अपने mylist डेटा को फिर से आउटपुट के रूप में देख सकते हैं।

['a', 'b', 'c', 'd']

एक साधारण शब्दकोश को पिकल करें:

import pickle
EmpID = {1: "Zack", 2: "53050", 3: "IT", 4: "38", 5: "Flipkart"}
pickling_on = open("EmpID.pickle", "wb")
pickle.dump(EmpID, pickling_on)
pickling_on.close()

शब्दकोश को अनपिकल करें:

import pickle
pickle_off = open("EmpID.pickle", 'rb')
EmpID = pickle.load(pickle_off)
print(EmpID)

उपरोक्त स्क्रिप्ट (अनपिकल) चलाने पर हमें अपना शब्दकोश वापस मिल जाता है जैसा हमने पहले आरंभ किया था। साथ ही, कृपया ध्यान दें क्योंकि हम यहां बाइट्स पढ़ रहे हैं, हमने "r" के बजाय "rb" का उपयोग किया है।

आउटपुट

{1: 'Zack', 2: '53050', 3: 'IT', 4: '38', 5: 'Flipkart'}

पिकल अपवाद

पिकल मॉड्यूल के साथ काम करते समय उठाए जाने वाले कुछ सामान्य अपवाद नीचे दिए गए हैं:

  • Pickle.PicklingError: यदि पिकल ऑब्जेक्ट पिकलिंग का समर्थन नहीं करता है, तो यह अपवाद उठाया जाता है।

  • Pickle.UnpicklingError: यदि फ़ाइल में खराब या दूषित डेटा है।

  • EOFError: यदि फ़ाइल का अंत पता चलता है, तो यह अपवाद उठाया जाता है।

फायदे:

  • जटिल डेटा को सहेजने के लिए काम आता है।

  • उपयोग में आसान, हल्का और कई लाइनों के कोड की आवश्यकता नहीं होती।

  • जनरेट की गई पिकल्ड फ़ाइल आसानी से पठनीय नहीं है और इस प्रकार कुछ सुरक्षा प्रदान करती है।

नुकसान:

  • पायथन के अलावा अन्य भाषाएं पिकल्ड पायथन ऑब्जेक्ट्स को पुनर्निर्मित करने में सक्षम नहीं हो सकती हैं।

  • दुर्भावनापूर्ण स्रोतों से डेटा अनपिकल करने का जोखिम।

  1. पायथन में सांख्यिकीय सोच पायथन में सांख्यिकीय सोच

    सांख्यिकी ML और AI सीखने के लिए मौलिक है। चूंकि पायथन इन टेक्नोलॉजीज के लिए पसंद की भाषा है, हम देखेंगे कि सांख्यिकीय विश्लेषण को शामिल करने वाले पायथन प्रोग्राम कैसे लिखें। इस लेख में हम देखेंगे कि विभिन्न पायथन मॉड्यूल्स का उपयोग करके ग्राफ और चार्ट कैसे बनाएं। चार्ट की यह विविधता हमें डेटा का तेज

  1. पायथन में ग्राहक मंथन (Customer Churn) की भविष्यवाणी पायथन में ग्राहक मंथन (Customer Churn) की भविष्यवाणी

    हर व्यवसाय ग्राहक की वफादारी पर निर्भर करता है। ग्राहक से दोहराया जाने वाला व्यवसाय व्यावसायिक लाभप्रदता के लिए आधारशिला में से एक है। इसलिए ग्राहक के व्यवसाय छोड़ने का कारण जानना महत्वपूर्ण है। ग्राहकों का दूर जाना ग्राहक मंथन के रूप में जाना जाता है। पिछले रुझानों को देखकर हम यह आंक सकते हैं कि कौ

  1. पायथन में जनगणना डेटा का विश्लेषण पायथन में जनगणना डेटा का विश्लेषण

    जनगणना एक व्यवस्थित तरीके से दी गई जनसंख्या के बारे में जानकारी रिकॉर्ड करने के बारे में है। कैप्चर किए गए डेटा में विभिन्न श्रेणी की जानकारी शामिल होती है जैसे - जनसांख्यिकीय, आर्थिक, आवास विवरण आदि। यह अंततः सरकार को वर्तमान परिदृश्य को समझने और भविष्य के लिए योजना बनाने में मदद करता है। इस लेख मे