Python Language
Wytrzymałość Pythona
Szukaj…
Składnia
pickle.dump (obj, plik, protokół = Brak, *, fix_imports = True)
pickle.load (plik, *, fix_imports = True, kodowanie = „ASCII”, błędy = „ścisłe”)
Parametry
Parametr | Detale |
---|---|
obj | marynowana reprezentacja obj do otwartego pliku obiektu pliku |
protokół | liczba całkowita, informuje wybieracza, aby używał podanego protokołu, 0 ASCII, 1 - stary format binarny |
plik | Argument pliku musi mieć metodę write () wb dla metody zrzutu i do ładowania metody read () rb |
Wytrzymałość Pythona
Obiekty takie jak liczby, listy, słowniki, struktury zagnieżdżone i obiekty instancji klas znajdują się w pamięci komputera i są tracone po zakończeniu skryptu.
marynata przechowuje dane na stałe w osobnym pliku.
marynowana reprezentacja obiektu jest zawsze obiektem bajtowym we wszystkich przypadkach, więc należy otworzyć pliki wb
aby zapisać dane i rb
aby załadować dane z marynaty.
dane mogą być wyłączone dowolnego rodzaju, na przykład
data={'a':'some_value',
'b':[9,4,7],
'c':['some_str','another_str','spam','ham'],
'd':{'key':'nested_dictionary'},
}
Magazyn danych
import pickle
file=open('filename','wb') #file object in binary write mode
pickle.dump(data,file) #dump the data in the file object
file.close() #close the file to write into the file
Załaduj dane
import pickle
file=open('filename','rb') #file object in binary read mode
data=pickle.load(file) #load the data back
file.close()
>>>data
{'b': [9, 4, 7], 'a': 'some_value', 'd': {'key': 'nested_dictionary'},
'c': ['some_str', 'another_str', 'spam', 'ham']}
Można marynować następujące typy
- Brak, prawda i fałsz
- liczby całkowite, liczby zmiennoprzecinkowe, liczby zespolone
- ciągi, bajty, bajtary
- krotki, listy, zestawy i słowniki zawierające tylko obiekty do wyboru
- funkcje zdefiniowane na najwyższym poziomie modułu (przy użyciu def, a nie lambda)
- funkcje wbudowane zdefiniowane na najwyższym poziomie modułu
- klasy zdefiniowane na najwyższym poziomie modułu
- instancje takich klas, których dyktando lub wynik wywołania getstate ()
Narzędzie funkcyjne do zapisywania i ładowania
Zapisz dane do iz pliku
import pickle
def save(filename,object):
file=open(filename,'wb')
pickle.dump(object,file)
file.close()
def load(filename):
file=open(filename,'rb')
object=pickle.load(file)
file.close()
return object
>>>list_object=[1,1,2,3,5,8,'a','e','i','o','u']
>>>save(list_file,list_object)
>>>new_list=load(list_file)
>>>new_list
[1, 1, 2, 3, 5, 8, 'a', 'e', 'i', 'o', 'u'
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow