π ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python? π
ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Python?
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ open()
ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠ°ΠΊ "Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ" Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° 'b'
.
# ΠΡΠΈΠΌΠ΅Ρ
with open('file.bin', 'rb') as file:
binary_data = file.read()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» 'file.bin'
Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° 'rb'
. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ with
, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
Π·Π°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Python
ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Π°ΡΠ΄ΠΈΠΎΡΠ°ΠΉΠ»Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python.
1. ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π² Python ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ open
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΉ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΊΡΡΡΠΈΡ. Π Π΅ΠΆΠΈΠΌ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ 'b' Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 'rb' ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π° 'wb' ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ.
# ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ
with open('file.bin', 'rb') as file:
data = file.read()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ with
, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. Π€ΡΠ½ΠΊΡΠΈΡ read
ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ data
.
2. ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΊΡΡΡΠΈΡ 'wb' ΠΈ ΡΡΠ½ΠΊΡΠΈΡ write
. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
# ΠΠ°ΠΏΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°ΠΉΠ»
with open('file.bin', 'wb') as file:
data = b'\x00\x01\x02\x03\x04\x05'
file.write(data)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ» file.bin
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ write
.
3. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΊΡΡΡΠΈΡ 'rb+'. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅.
# Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°ΠΉΠ»Π΅
with open('file.bin', 'rb+') as file:
data = file.read()
file.write(b'\x05\x04\x03\x02\x01\x00')
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π½ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ seek
ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ write
.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π² Python ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π£Π΄Π°ΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ!