ΠΡΡΡ Π·Π° Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Python
ΠΠ»Π°Π²Π° 10
>
ΠΠΈΠ²ΠΎ 3
Π¦Π΅Π»
ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΡΡΠ°Π½ΡΠΈΡ ΠΈ ΡΠ΅ ΡΠ²Π΅ΡΠ΅ΡΠ΅, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° JSON Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎ ΠΏΡΡΠ΅ΠΊΠ°ΡΠ°, ΠΎΡΠΊΡΠΈΠ²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ°Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΠΎΠ΄Π° ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π·Π° Π·Π΅ΠΌΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π·Π° Π±ΡΠ΄Π΅ΡΠ° ΡΠ΅ΠΊΠΎΠ»ΡΠ°. ΠΠ° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΠΌ Π΄Π°Π½Π½ΠΈΡΠ΅, Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° Π³ΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° JSON ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ° ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Python, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Marshal ΠΈ Pickle. ΠΠΎΠ΄ΡΠ»ΡΡ Marshal Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π·Π° Π±ΡΡΠ·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ/Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Π· ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° ΠΏΠΎ-ΠΏΡΠΎΡΡΠΈ ΠΏΡΠ΅Π½ΠΎΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΡΠ»ΡΡ Pickle Π΅ ΠΏΠΎ-Π±Π°Π²Π΅Π½, Π½ΠΎ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π², ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
ΠΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Marshal ΠΈ Pickle, ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π·:
import marshal
ΠΈ
import pickle
ΠΠ° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
marshal.dumps(): Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π΄Π°Π½Π½ΠΈ Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° Π±ΡΡΠ·ΠΈΠ½Π° Π² Python. ΠΡΠΈΠ΅ΠΌΠ° Π΅Π΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅, ΠΈ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ.marshal.loads(): ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π΄Π²ΠΎΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π΅ΠΌΠΈ ΠΎΡ Python, Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ Ρ Π±ΡΡΠ·ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΠΈΠ΅ΠΌΠ° Π΅Π΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ.pickle.DEFAULT_PROTOCOL: ΠΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΊΠΎΡ Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Pickle Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Python. ΠΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ Π²Π»ΠΈΡΡΡ Π²ΡΡΡ Ρ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ.pickle.HIGHEST_PROTOCOL: ΠΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΊΠΎΡ Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° Π½Π°Π»ΠΈΡΠ½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Pickle Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Python. ΠΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ Π²Π»ΠΈΡΡΡ Π²ΡΡΡ Ρ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ.pickle.dumps(): Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² Python Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ ΡΠΏΠΎΡΠ΅Π΄ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΡΠΈΠ΅ΠΌΠ° Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° β Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅, ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΡΡΠΎ ΠΆΠ΅Π»Π°Π΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅.pickle.loads(): ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π΄Π²ΠΎΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠΈΠΏΠΎΠ²Π΅, ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π΅ΠΌΠΈ ΠΎΡ Python, ΠΌΠΎΡΠ΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π΅ΠΊΡΠΈ Π½Π° Python. ΠΡΠΈΠ΅ΠΌΠ° Π΅Π΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠ΅Π·ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π½Π°ΡΠ΅ΡΠ΅Π½ pformat, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ΅Π·
from pprint import pformat.
Π’ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° pformat(), ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ½ΠΈΡΠΈ ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° ΡΡΠ½ΠΎ.
ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠ²Π΅ΡΠ»Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π² ΠΌΠ°Π»ΠΊΠ°ΡΠ° Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Π½Π° ΡΡΠ°Π½ΡΠΈΡ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π». Π‘ΡΠ°Π½ΡΠΈΡΡΠ° Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π½Π°Π»ΡΠ³Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΎΠ΄Π°ΡΠ° ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π±Π»ΠΈΠ·ΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π·Π° Π·Π°ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΡΠ»ΡΡΡΠΈ. ΠΠΌΠ° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π½Π° ΠΈΠΌΠ΅ reading, ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΡΠ±ΡΠ°Π½ΠΈ ΠΎΡ ΡΡΠ°Π½ΡΠΈΡΡΠ°.
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΈΠΌΠ΅ data ΠΈ ΡΠ»ΠΎΠΆΠ΅ΡΠ΅ Π² Π½Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡΡΠ° marshal.dumps(), Π·Π°Π΄Π°Π²Π°ΠΉΠΊΠΈ reading ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
data = marshal.dumps(reading)
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° data Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ display(), Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
ΠΠ·Π»Π΅Π·ΡΠ΅ ΠΎΡ ΡΡΠ°Π½ΡΠΈΡΡΠ° ΠΈ ΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΊΡΠΌ Π·Π»Π°ΡΠ½Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° open(), Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ Π²ΡΠ°ΡΠ°ΡΠ° ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠΈΡΠ°. ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠ²Π΅ΡΠ»Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ΅Π΄ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠΎΠΊΡ-ΡΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ
ΡΠ΅. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΈΠΌΠ΅ output ΠΈ ΡΠ»ΠΎΠΆΠ΅ΡΠ΅ Π² Π½Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ marshal.loads(), ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° data ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° write() ΠΈ ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ output ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΡΠ±ΡΠ°Π½ΠΈ ΠΎΡ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Π½Π°ΡΠ° ΡΡΠ°Π½ΡΠΈΡ.
ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠ²Π΅ΡΠ»Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π΄ ΡΠΈΠ½ΡΠΎΡΠΎ ΠΊΠΈΠ»ΠΈΠΌΡΠ΅ Π² ΠΎΡΠΈΡΠ°; Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊΡΠ² ΡΠΈΠΏ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄ΡΠ»ΡΡ Pickle ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ. Π ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ write() Π·Π°Π΄Π°ΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΊΠ°ΡΠΎ pickle.DEFAULT_PROTOCOL ΠΈ pickle.HIGHEST_PROTOCOL. Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
ΠΡΠ΅ΠΌΠ΅ΡΡΠ΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΡΡΠΌΠ½Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π΄ ΡΠΈΠ½ΡΠΎΡΠΎ ΠΊΠΈΠ»ΠΈΠΌΡΠ΅; ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡ
ΠΌΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ. ΠΠ°Π½Π½ΠΈΡΠ΅ ΡΠ° ΡΡΠ±ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ ΠΏΡΠ΅Π· ΠΌΠ΅ΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π½Π° ΠΈΠΌΠ΅ samples. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Ρ ΠΈΠΌΠ΅Π½Π° sereal_0, sereal_2 ΠΈ sereal_5; ΡΠ΅ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΈ ΠΎΡ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΎΡΠΎΠΊΠΎΠ» 0 Π΅ ΡΠ΅ΡΠΈΠΌ ASCII, Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½; ΠΏΡΠΎΡΠΎΠΊΠΎΠ» 2 Π΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ; Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» 5 Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΡ Ρ Π½Π°ΠΉ-ΡΠ»ΠΎΠΆΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π©Π΅ Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ pickle.dumps(), ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΡΠ° samples ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π² ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° sereal_0 Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» 0, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
sereal_0 = pickle.dumps(samples, protocol=0)
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ sereal_0, sereal_2 ΠΈ sereal_5 Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ display(), Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° Π΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ».
ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΠ²Π΅ΡΠ»Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π΄ ΡΠ΅ΡΠ²Π΅Π½ΠΎΡΠΎ ΠΊΠΈΠ»ΠΈΠΌΡΠ΅ ΠΈ ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°; ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° output, ΠΊΠ°ΡΠΎ ΠΉ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° pickle.loads() ΠΈ ΠΏΠΎΠ΄Π°Π΄Π΅ΡΠ΅ sereal_5 ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π·Π° Π΄Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠ±ΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎΡΠ΅Π³Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° display() ΠΈ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° pformat() ΡΡΡ output ΠΊΠ°ΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
await player.display(pformat(output))
ΠΠ°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ Π² Π³ΡΠ°ΡΠΈΠΊΠ°.
ΠΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ ΡΡΠΌΠ½Π°ΡΠ° X-ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π΄ ΡΠ΅ΡΠ²Π΅Π½ΠΎΡΠΎ ΠΊΠΈΠ»ΠΈΠΌΡΠ΅ ΠΈ ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Π±ΡΡΠΎΡΠΎ; Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ write() Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ
ΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠ΅Ρ ΠΈ ΠΊΠΎΠΈΡΠΎ Π±ΡΡ
Π° ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ Π³ΠΈ ΠΊΠ°ΡΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅ Π² ΠΊΠ°Π²ΠΈΡΠΊΠΈ "" Π² ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠ΅Π΄, ΠΊΠ°ΠΊΡΠΎ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΡΡΠ°, Π·Π° Π΄Π° Π·Π°Π²ΡΡΡΠΈΡΠ΅ Π½ΠΈΠ²ΠΎΡΠΎ.