Implementacija serijalizatora MessagePack za Python msgpack.org[Python]
MessagePack za Python
Što je ovo
MessagePack je učinkovit format binarne serijalizacije. Omogućuje vam razmjenu podataka između više jezika kao što je JSON. Ali brži je i manji. Ovaj paket pruža CPython povezivanja za čitanje i pisanje MessagePack podataka.
Vrlo važne napomene za postojeće korisnike
Naziv PyPI paketa
Naziv paketa na PyPI je promijenjen iz |_+_| do |_+_| od 0,5.
Prilikom nadogradnje s msgpack-0.4 ili starije, učinite |_+_| prije |_+_|.
Kompatibilnost sa starim formatom
Možete koristiti |_+_| mogućnost pakiranja |_+_| objekt u sirovi tip u staroj specifikaciji msgpacka, umjesto tipa bin u novoj specifikaciji msgpacka.
Stari format msgpacka možete raspakirati pomoću |_+_| opcija. Raspakira str (raw) tip u msgpacku u Python bajtove.
react-native popis kartica
Pogledajte napomenu u nastavku za detalje.
Velike prijelomne promjene u msgpacku 1.0
Python 2
- Modul proširenja više ne podržava Python 2. Čista implementacija Pythona (|_+_|) koristi se za Python 2.
Paker
- |_+_| prema zadanim postavkama. bajtovi su kodirani u bin tipu u msgpacku. Ako još uvijek koristite Python 2, morate koristiti unicode za sve vrste nizova. Možete koristiti |_+_| za kodiranje u stari format msgpack.
- |_+_| opcija je uklonjena. Uvijek se koristi UTF-8.
Raspakiravač
- |_+_| prema zadanim postavkama. Pretpostavlja da su tipovi str valjani UTF-8 niz i dekodira ih u Python str (unicode) objekt.
- |_+_| opcija je uklonjena. Možete koristiti |_+_| za podršku starom formatu.
- Zadana vrijednost |_+_| se mijenja od 0 do 100 MiB.
- Zadana vrijednost |_+_| mijenja se u True kako bi se izbjegli hashdo problemi. Morate proći |_+_| ako imate podatke koji sadrže ključeve karte čiji tip nije bajt ili str.
Instalirati
|_+_|Implementacija čistog Pythona
Modul proširenja u msgpacku (|_+_|) ne podržava Python 2 i PyPy.
gdje kupiti sandbox kripto
Ali msgpack pruža čistu implementaciju Pythona (|_+_|) za PyPy i Python 2.
Windows
Kada ne možete koristiti binarnu distribuciju, trebate instalirati Visual Studio ili Windows SDK na Windows. Bez proširenja, korištenje čiste Python implementacije na CPython radi sporo.
Kako koristiti
NAPOMENA: U primjerima u nastavku koristim |_+_| i |_+_| za korisnike koji koriste msgpack<1.0. These options are default from msgpack 1.0 so you can omit them.
Jednokratno pakiranje i raspakiranje
Koristite |_+_| za pakiranje i |_+_| za raspakiranje. msgpack pruža |_+_| i |_+_| kao alias za kompatibilnost s |_+_| i |_+_|.
|_+_| i |_+_| pakira u objekt sličan datoteci. |_+_| i |_+_| raspakira iz objekta nalik datoteci.
|_+_||_+_| raspakira niz msgpacka na Pythonov popis, ali se također može raspakirati u tuple:
|_+_|Uvijek biste trebali navesti |_+_| argument ključne riječi za kompatibilnost unatrag. U nastavku pogledajte probleme s izvedbom koji se odnose na |_+_|_.
Pročitajte niz dokumenata za druge opcije.
Streaming raspakiranje
|_+_| je 'raspakiravac strujanja'. Raspakira više objekata iz jednog streama (ili iz bajtova dobivenih putem metode |_+_|).
|_+_|Pakiranje/otpakiranje prilagođenog tipa podataka
Također je moguće pakirati/raspakirati prilagođene tipove podataka. Evo primjera za |_+_|.
|_+_||_+_| je |_+_| povratni poziv prima dikt; |_+_| povratni poziv se umjesto toga može koristiti za primanje popisa parova ključ-vrijednost.
kako vidjeti izbrisani twitter račun
Prošireni tipovi
Također je moguće pakirati/raspakirati prilagođene tipove podataka pomoću ekst tip.
|_+_|Napredna kontrola raspakiranja
Kao alternativa iteraciji, |_+_| objekti pružaju |_+_|, |_+_|, |_+_| i |_+_| metode. Prva dva čitaju cijelu poruku iz streama, redom deserijalizirajući i vraćajući rezultat, ili ga ignorirajući. Posljednje dvije metode vraćaju broj elemenata u nadolazećem spremniku, tako da se svaki element u nizu ili par ključ-vrijednost u mapi može zasebno raspakirati ili preskočiti.
Bilješke
string i binarni tip
Rane verzije msgpacka nisu razlikovale string i binarne tipove. Imenovan je tip za predstavljanje string i binarnih tipova sirovo .
Možete pakirati i raspakirati ovu staru specifikaciju koristeći |_+_| i |_+_| opcije.
|_+_|ext vrsta
Za korištenje ekst tip, prolaz |_+_| objekt pakeru.
|_+_|Možete ga koristiti s |_+_| i |_+_|. Pogledaj ispod.
Sigurnost
Za raspakiranje podataka primljenih iz nepouzdanog izvora, msgpack nudi dvije sigurnosne mogućnosti.
|_+_| (zadano: |_+_|) ograničava veličinu unutarnjeg međuspremnika. Također se koristi za ograničavanje unaprijed dodijeljene veličine popisa.
kako promijeniti fontove u google chrome
|_+_| (zadano: |_+_|) ograničava tip ključeva karte na bajtove i str. Iako specifikacija msgpacka ne ograničava tipove ključeva karte, postoji rizik od hashdo grešaka. Ako trebate podržati druge tipove za ključeve karte, koristite |_+_|.
Savjeti za izvedbu
CPythonov GC počinje kada raste dodijeljeni objekt. To znači da raspakiranje može uzrokovati beskorisni GC. Možete koristiti |_+_| prilikom raspakiranja velike poruke.
Popis je zadana vrsta sekvence Pythona. Ali tuple je lakši od liste. Možete koristiti |_+_| tijekom raspakiranja kada je izvedba važna.
Autor: Msgpack
Izvorni kod: https://github.com/msgpack/msgpack-python
Licenca: Pregledajte licencu
#podaci #piton
Vidi Također:
- Kako se rugati GraphQL API-ima s json-graphql-poslužiteljem
- Hyper V vs VMware VS VirtualBox: Što je najbolje za sastanke s Virtualizat
- Vanjske tablice SQL Server PolyBase s Azure Blob Storage
- Waldo Anticheat: Strojno učenje za otkrivanje ciljanja u videoisječcima
- Izradite decentralizirani protokol razmjene poput PancakeSwap -a na pametnom lancu Binance