Shembull Python Pickle


Në këtë tutorial do të diskutojmë në lidhje me Shembullin e Python Pickle. Në tutorialin tonë të mëparshëm, kemi diskutuar rreth Multiprocessing Python.

Python Pickle

Python Pickle përdoret për të serializuar dhe deserializuar një strukturë objekti python. Çdo objekt në python mund të turshi, në mënyrë që të ruhet në disk. Në fillim Python pickle serializon objektin dhe më pas e konverton objektin në një rrjedhë karakteresh në mënyrë që kjo rrjedhë e karaktereve të përmbajë të gjithë informacionin e nevojshëm për të rindërtuar objektin në një skrip tjetër python. Vini re se moduli i turshive nuk është i sigurt ndaj të dhënave të gabuara ose të ndërtuara me qëllim të keq sipas dokumentacionit. Pra, mos i zhblloko të dhënat e marra nga një burim i pabesueshëm ose i paautentikuar.

Deponia e Python Pickle

Në këtë seksion, ne do të mësojmë se si të ruajmë të dhënat duke përdorur Python pickle. Për ta bërë këtë, së pari duhet të importojmë modulin turshi. Pastaj përdorni funksionin pickle.dump() për të ruajtur të dhënat e objektit në skedar. Funksioni pickle.dump() merr 3 argumente. Argumenti i parë është objekti që dëshironi të ruani. Argumenti i dytë është objekti i skedarit që merrni duke hapur skedarin e dëshiruar në modalitetin write-binary (wb). Dhe argumenti i tretë është argumenti i vlerës-kyç. Ky argument përcakton protokollin. Ekzistojnë dy lloje të protokollit - turshi.HIGHEST_PROTOCOL dhe turshi.DEFAULT_PROTOCOL. Shihni kodin e mostrës për të ditur se si të hidhni të dhënat duke përdorur turshi.

import pickle

# take user input to take the amount of data
number_of_data = int(input('Enter the number of data : '))
data = []

# take input of the data
for i in range(number_of_data):
    raw = input('Enter data '+str(i)+' : ')
    data.append(raw)

# open a file, where you ant to store the data
file = open('important', 'wb')

# dump information to that file
pickle.dump(data, file)

# close the file
file.close()

Ngarkesa e Python Pickle

Për të tërhequr të dhënat turshi, hapat janë mjaft të thjeshtë. Ju duhet të përdorni funksionin pickle.load() për ta bërë këtë. Argumenti kryesor i funksionit të ngarkesës së turshive është objekti i skedarit që merrni duke hapur skedarin në modalitetin e leximit-binar (rb). E thjeshte! A nuk është ajo. Le të shkruajmë kodin për të tërhequr të dhënat që kemi grumbulluar duke përdorur kodin e turshive. Shih kodin e mëposhtëm për të kuptuar.

import pickle

# open a file, where you stored the pickled data
file = open('important', 'rb')

# dump information to that file
data = pickle.load(file)

# close the file
file.close()

print('Showing the pickled data:')

cnt = 0
for item in data:
    print('The data ', cnt, ' is : ', item)
    cnt += 1

Rezultati do të jetë si më poshtë:

Showing the pickled data:
The data  0  is :  123
The data  1  is :  abc
The data  2  is :  !@#$

Shembull Python Pickle

Shënime të rëndësishme për Python Pickle

Disa pika të rëndësishme në lidhje me modulin e turshive python janë:

  1. Protokolli i turshive është specifik për Python - nuk garantohet të jetë i përputhshëm ndër-gjuhësh. Kjo do të thotë që me shumë mundësi nuk mund ta transferoni informacionin për ta bërë atë të dobishëm në gjuhë të tjera programimi.
  2. Nuk ka gjithashtu asnjë garanci për pajtueshmërinë midis versioneve të ndryshme të Python sepse jo çdo strukturë e të dhënave Python mund të serializohet nga moduli.
  3. Versioni më i fundit i protokollit të turshive përdoret si parazgjedhje nëse nuk e ndryshoni manualisht.
  4. E fundit, por jo më pak e rëndësishme, moduli i turshive nuk është i sigurt ndaj të dhënave të gabuara ose të ndërtuara me qëllim të keq sipas dokumentacionit.

Pra, kjo ka të bëjë me shembullin e turshive të pitonit. Shpresoj se e kuptoni mirë. Për çdo pyetje të mëtejshme, ju lutemi përdorni seksionin e komenteve. :) Referenca: Dokumentacioni Zyrtar