పైథాన్‌లో వస్తువులను ఊరగాయ చేయడం ఎలా

How Pickle Objects Python



JSON మరియు పికిల్ మాడ్యూల్ ఉపయోగించి పైథాన్‌లో ఏదైనా డేటాను సీరియల్ మరియు డీసీరియలైజ్ చేయవచ్చు. ఫైల్‌లో ఏదైనా డేటాను నిల్వ చేయడానికి ముందు, పైథాన్ వస్తువులు ఊరగాయ మాడ్యూల్ ఉపయోగించి సీరియల్ చేయబడతాయి. ఈ మాడ్యూల్‌ని ఉపయోగించి పైథాన్ వస్తువులు అక్షర ప్రవాహాలుగా మార్చబడతాయి. వినియోగదారుడు మరొక పైథాన్ స్క్రిప్ట్‌ను ఉపయోగించడం కోసం ఫైల్ యొక్క డేటాను తిరిగి పొందాలనుకున్నప్పుడు, ఫైల్ యొక్క డేటా ఊరగాయ మాడ్యూల్ ద్వారా డీసీరియలైజ్ చేయబడుతుంది. ఊరగాయ మాడ్యూల్ యొక్క లక్షణాలు మరియు సీరియలైజేషన్ మరియు డీసిరియలైజేషన్ కోసం పైథాన్ స్క్రిప్ట్‌లో ఈ మాడ్యూల్‌ను ఎలా ఉపయోగించవచ్చో ఈ ట్యుటోరియల్‌లో వివరించబడింది.

ఊరగాయ ఫీచర్లు:

  • ఇది ప్రధానంగా పైథాన్ స్క్రిప్ట్ కోసం రూపొందించబడింది.
  • ఇది ప్రక్రియల మధ్య పైథాన్ వస్తువులను సేవ్ చేయడానికి ఉపయోగించబడుతుంది.
  • ఇది సీరియలైజ్ చేయబడిన అన్ని వస్తువులను ట్రాక్ చేస్తుంది మరియు ముందు సీరియల్ చేయబడిన వస్తువు మళ్లీ సీరియల్ చేయదు.
  • ఇది క్లాస్ ఉదాహరణను పారదర్శకంగా సేవ్ చేయవచ్చు మరియు పునరుద్ధరించవచ్చు.
  • ఇది ఉపయోగించడం సురక్షితం కాదు. కాబట్టి, తెలియని మూలం నుండి డేటాను తీసివేయడం మంచిది కాదు.

డంప్ () సీరియలైజేషన్ కోసం:

డంప్ () ఫంక్షన్ ఒక ఫైల్‌లో సేవ్ చేయడానికి ముందు ఆబ్జెక్ట్ డేటాను క్యారెక్టర్ స్ట్రీమ్‌గా మార్చడానికి ఉపయోగించబడుతుంది. ఈ ఫంక్షన్ మూడు వాదనలు తీసుకోవచ్చు. మొదటి రెండు వాదనలు తప్పనిసరి మరియు చివరి వాదన ఐచ్ఛికం. మొదటి ఆర్గ్యుమెంట్ సీరియల్ చేయడానికి అవసరమైన డేటా ఆబ్జెక్ట్‌ను తీసుకుంటుంది. రెండవ వాదన ఆ ఫైల్ యొక్క ఫైల్ హ్యాండ్లర్ ఆబ్జెక్ట్‌ను తీసుకుంటుంది, ఇక్కడ pckled డేటా నిల్వ చేయబడుతుంది. చివరి వాదన ప్రోటోకాల్ పేరును తీసుకుంటుంది.







వాక్యనిర్మాణం:



డంప్(డేటా_ఆబ్జెక్ట్,ఫైల్_ఆబ్జెక్ట్, [ప్రోటోకాల్])

డీసెరియలైజేషన్ కోసం లోడ్ ():

ఫైల్ () అక్షరం స్ట్రీమ్ డేటాను పైథాన్ వస్తువుగా మార్చడానికి లోడ్ () ఫంక్షన్ ఉపయోగించబడుతుంది. ఈ ఫంక్షన్‌లో కేవలం ఒక ఆర్గ్యుమెంట్ మాత్రమే ఉంటుంది మరియు ఫైల్ యొక్క ఫైల్ హ్యాండ్లర్ ఆబ్జెక్ట్ డేటా తిరిగి పొందబడే ఆర్గ్యుమెంట్ విలువగా పాస్ అవుతుంది.



వాక్యనిర్మాణం:





లోడ్(ఫైల్_ఆబ్జెక్ట్)

ఒక ఫైల్‌లో నిల్వ చేయడానికి ఒక సాధారణ వస్తువును ఊరగాయ చేయండి

అనే ఫైల్‌ను సృష్టించండి pickle1.py కింది పైథాన్ స్క్రిప్ట్‌తో. కింది స్క్రిప్ట్‌లో, డేటా వస్తువు పేరు పెట్టబడింది డేటా ఆబ్జెక్ట్ లూప్‌ని పునరుద్ఘాటించడం ద్వారా ఐదు భాషల పేర్లను నిల్వ చేయడానికి ప్రకటించబడింది. తరువాత, ఒక బైనరీ ఫైల్‌ను సృష్టించడం కోసం ఫైల్ హ్యాండ్లర్‌ను కేటాయించడానికి ఓపెన్ () పద్ధతి ఉపయోగించబడుతుంది భాషలు. డంప్ () యొక్క డేటాను సీరియల్ చేయడానికి ఇక్కడ ఫంక్షన్ ఉపయోగించబడుతుంది డేటా ఆబ్జెక్ట్ మరియు దానిని నిల్వ చేయండి భాషలు ఫైల్. సీరియలైజేషన్ సరిగ్గా జరిగితే, ఒక మెసేజ్, డేటా సీరియలైజ్ చేయబడుతుంది.

# ఊరగాయ మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి ఊరగాయ

# డేటాను నిల్వ చేయడానికి వస్తువును ప్రకటించండి
డేటా ఆబ్జెక్ట్= []

# లూప్‌ను 5 సార్లు పునరావృతం చేయండి మరియు భాష పేర్లను తీసుకోండి
కోసంఎన్లో పరిధి(5):
ముడి= ఇన్పుట్('భాష పేరును నమోదు చేయండి:')

డేటా ఆబ్జెక్ట్.అనుబంధం(ముడి)

# డేటాను వ్రాయడానికి ఫైల్‌ను తెరవండి
ఫైల్_హ్యాండ్లర్= తెరవండి('భాషలు', 'wb')

# ఆబ్జెక్ట్ యొక్క డేటాను ఫైల్‌లోకి డంప్ చేయండి
ఊరగాయ.డంప్(డేటా ఆబ్జెక్ట్,ఫైల్_హ్యాండ్లర్)

# వనరులను విడుదల చేయడానికి ఫైల్ హ్యాండ్లర్‌ను మూసివేయండి
ఫైల్_హ్యాండ్లర్.దగ్గరగా()

# ముద్రణ సందేశం
ముద్రణ('డేటా క్రమబద్ధీకరించబడింది')

అవుట్‌పుట్:



స్క్రిప్ట్ అమలు చేసిన తర్వాత, అది ఐదు భాషల పేర్లను ఇన్‌పుట్‌గా తీసుకుంటుంది.

ఫైల్ నుండి డేటాను తీసివేయండి

డేటాను తీయడం అనేది పిక్లింగ్ డేటాకు వ్యతిరేకం. అనే ఫైల్‌ను సృష్టించండి pickle2.py కింది పైథాన్ స్క్రిప్ట్‌తో. ఇక్కడ, తెరువు () అనే బైనరీ ఫైల్‌ను తెరవడానికి ఈ పద్ధతి ఉపయోగించబడుతుంది భాషలు , మునుపటి ఉదాహరణలో సృష్టించబడింది. లోడ్ () ఫైల్ నుండి డేటాను తీసివేయడానికి మరియు వేరియబుల్‌లో నిల్వ చేయడానికి ఫంక్షన్ ఉపయోగించబడుతుంది డేటా ఆబ్జెక్ట్ . తరువాత, కోసం నుండి డేటాను తిరిగి మార్చడానికి లూప్ ఉపయోగించబడుతుంది డేటా ఆబ్జెక్ట్ మరియు టెర్మినల్‌లో ముద్రించండి.

# ఊరగాయ మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి ఊరగాయ

# డేటా లోడ్ అయ్యే ఫైల్‌ను చదవడానికి ఫైల్ హ్యాండ్లర్‌ను తెరవండి
ఫైల్_హ్యాండ్లర్= తెరవండి('భాషలు', 'rb')

డీసిరియలైజేషన్ తర్వాత ఫైల్ నుండి డేటాను లోడ్ చేయండి
డేటా ఆబ్జెక్ట్= ఊరగాయ.లోడ్(ఫైల్_హ్యాండ్లర్)

# ఫైల్ హ్యాండ్లర్‌ను మూసివేయండి
ఫైల్_హ్యాండ్లర్.దగ్గరగా()

# ముద్రణ సందేశం
ముద్రణ('డీసీరియలైజేషన్ తర్వాత డేటా')

డీసిరియలైజేషన్ తర్వాత డేటాను ప్రింట్ చేయడానికి లూప్‌ను పునరుద్ఘాటించండి
కోసంగంటలులోడేటా ఆబ్జెక్ట్:
ముద్రణ('డేటా విలువ:',గంటలు)

అవుట్‌పుట్:

స్క్రిప్ట్ అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.

ఒక ఫైల్‌కు క్లాస్ ఆబ్జెక్ట్‌ను ఎంచుకోండి

ఒక క్లాస్ ఆబ్జెక్ట్ ఎలా పిక్లింగ్ చేయవచ్చు అనేది క్రింది ఉదాహరణలో చూపబడింది. అనే ఫైల్‌ను సృష్టించండి ఊరగాయ 3. పై కింది స్క్రిప్ట్‌తో. ఇక్కడ, ఉద్యోగి ఉద్యోగి యొక్క మూడు డేటా విలువలను కేటాయించడానికి తరగతి ప్రకటించబడింది. తరువాత, ఫైల్ హ్యాండ్లర్ వస్తువు పేరు పెట్టబడింది ఫైల్ హ్యాండ్లర్ రాయడం కోసం ఒక ఫైల్‌ను తెరవడానికి సృష్టించబడింది. క్లాస్ ఆబ్జెక్ట్‌ను ప్రారంభించిన తర్వాత, డేటా ఉపయోగించి సీరియల్ చేయబడుతుంది డంప్ () ఫంక్షన్ మరియు పేరు పెట్టబడిన ఫైల్‌లో నిల్వ చేయబడుతుంది ఉద్యోగి డేటా . ఫైల్ సరిగ్గా సృష్టిస్తే, సందేశం, డేటా క్రమబద్ధీకరించబడింది ప్రింట్ చేస్తుంది.

# ఊరగాయ మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి ఊరగాయ

# విలువను నిల్వ చేయడానికి ఉద్యోగి తరగతిని ప్రకటించండి
తరగతిఉద్యోగి:
డెఫ్ __అందులో__(స్వీయ,పేరు, ఇమెయిల్,పోస్ట్):
స్వీయ.పేరు =పేరు
స్వీయ.ఇమెయిల్ = ఇమెయిల్
స్వీయ.పోస్ట్ =పోస్ట్

#ఉద్యోగి వస్తువును సృష్టించండి
ఎంపోబ్జెక్ట్=ఉద్యోగి('ఫర్హీన్', '[ఇమెయిల్ రక్షించబడింది]', 'నిర్వాహకుడు')

# స్టోర్ డేటా కోసం ఫైల్‌ను తెరవండి
ఫైల్ హ్యాండ్లర్= తెరవండి('ఉద్యోగి డేటా', 'wb')

# ఫైల్‌లో డేటాను సేవ్ చేయండి
ఊరగాయ.డంప్(ఎంపోబ్జెక్ట్,ఫైల్ హ్యాండ్లర్)

# ఫైల్‌ను మూసివేయండి
ఫైల్ హ్యాండ్లర్.దగ్గరగా()

# ముద్రణ సందేశం
ముద్రణ('డేటా క్రమబద్ధీకరించబడింది')

అవుట్‌పుట్:

స్క్రిప్ట్ అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.

క్లాస్ ఆబ్జెక్ట్‌కు డేటాను తీసివేయండి

అవసరమైన లక్షణాలు మరియు పద్ధతులతో కూడిన క్లాస్ ఫైల్ నుండి క్లాస్ ఆబ్జెక్ట్‌కు డేటాను తిరిగి పొందడం కోసం ప్రకటించాల్సి ఉంటుంది. అనే ఫైల్‌ను సృష్టించండి pickle4.py కింది కోడ్‌తో. ఉద్యోగి డేటాను తిరిగి పొందడానికి తరగతి ఇక్కడ నిర్వచించబడింది. ఫైల్ ఆబ్జెక్ట్ వేరియబుల్ ఫైల్‌ను తెరవడానికి ఉపయోగించబడుతుంది, ఉద్యోగి డేటా చదవడానికి. తరువాత, లోడ్ () డీసెరియలైజేషన్ తర్వాత క్లాస్ ఆబ్జెక్ట్‌లో డేటాను నిల్వ చేయడానికి ఫంక్షన్ ఉపయోగించబడుతుంది. ప్రదర్శన() యొక్క ఫంక్షన్ ఉద్యోగి తరగతి వస్తువు యొక్క డేటా విలువలను ముద్రించడానికి క్లాస్ అంటారు.

# ఊరగాయ మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి ఊరగాయ

# ఫైల్ నుండి డేటాను చదవడానికి మరియు ముద్రించడానికి ఉద్యోగుల తరగతిని ప్రకటించండి
తరగతిఉద్యోగి:
డెఫ్ __అందులో__(స్వీయ,పేరు, ఇమెయిల్,పోస్ట్):
స్వీయ.పేరు =పేరు
స్వీయ.ఇమెయిల్ = ఇమెయిల్
స్వీయ.పోస్ట్ =పోస్ట్

డెఫ్ప్రదర్శన(స్వీయ):
ముద్రణ('ఉద్యోగుల సమాచారం:')
ముద్రణ('పేరు:', స్వీయ.పేరు)
ముద్రణ('ఇమెయిల్:', స్వీయ.ఇమెయిల్)
ముద్రణ('పోస్ట్:', స్వీయ.పోస్ట్)

# చదవడానికి ఫైల్‌ని తెరవండి
ఫైల్ ఆబ్జెక్ట్= తెరవండి('ఉద్యోగి డేటా', 'rb')

# డేటాను తీసివేయండి
ఉద్యోగి= ఊరగాయ.లోడ్(ఫైల్ ఆబ్జెక్ట్)

# ఫైల్‌ను మూసివేయండి
ఫైల్ ఆబ్జెక్ట్.దగ్గరగా()

#డేటా ఫ్రేమ్‌ను ముద్రించండి
ఉద్యోగి.ప్రదర్శన()

అవుట్‌పుట్:

స్క్రిప్ట్ అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.

ముగింపు

పికిల్ మాడ్యూల్ అనేది డేటా సీరియలైజేషన్ మరియు డీసిరియలైజేషన్ కోసం పైథాన్ యొక్క ఉపయోగకరమైన లక్షణం. ఈ ట్యుటోరియల్‌లో చూపిన ఉదాహరణలను పూర్తి చేసిన తర్వాత, ఒక పైథాన్ స్క్రిప్ట్ నుండి మరొక పైథాన్ స్క్రిప్ట్‌కు డేటా బదిలీ చేయడం ఎవరికైనా సులభంగా ఉంటుంది.