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

अजगर अचार बनाना

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

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

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

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

import pickle

अचार के उदाहरण:

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

एक साधारण सूची चुनें :Pickle_list1.py

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

उपरोक्त कोड में, सूची - "mylist" में चार तत्व ('ए', 'बी', 'सी', 'डी') शामिल हैं। हम फ़ाइल को "w" के बजाय "wb" मोड में खोलते हैं क्योंकि सभी ऑपरेशन वर्तमान कार्यशील निर्देशिका में बाइट्स का उपयोग करके किए जाते हैं। "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. पायथन में सांख्यिकीय सोच

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

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

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

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

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