π¦ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄ python?
Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ open
Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ write
. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
with open('ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ_ΡΠ°ΠΉΠ»', 'rb') as f_in:
binary_data = f_in.read()
with open('Π½ΠΎΠ²ΡΠΉ_Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ_ΡΠ°ΠΉΠ»', 'wb') as f_out:
f_out.write(binary_data)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ² ('rb'
) ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ binary_data
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±Π°ΠΉΡΠΎΠ² ('wb'
) ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ binary_data
Π² Π½Π΅Π³ΠΎ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 'ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ_ΡΠ°ΠΉΠ»' ΠΈ 'Π½ΠΎΠ²ΡΠΉ_Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ_ΡΠ°ΠΉΠ»' Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΡΠΈΠ²Π΅Ρ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π½Π°Π²ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ 'open'
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ 'open' Π² Python.
file = open('file.txt', 'rb')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'file.txt' Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ('rb'). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 'file.txt' Π½Π° ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ 'read' Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ 'encode'.
content = file.read()
binary_content = content.encode('utf-8')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ 'content' Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° 'read'. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° 'encode' ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ 'utf-8'. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠ°ΠΏΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ 'open', Π½ΠΎ ΡΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ('wb').
binary_file = open('binary_file.bin', 'wb')
binary_file.write(binary_content)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'binary_file.bin' Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ('wb'). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ 'binary_content' Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° 'write'.
ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ 'close'.
file.close()
binary_file.close()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»Ρ 'file' ΠΈ 'binary_file' Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° 'close'. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ°ΠΉΠ» Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ 'open' Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°, ΠΌΠ΅ΡΠΎΠ΄Ρ 'read' ΠΈ 'encode' Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠ°ΠΉΠ»Π° Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π²ΠΈΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ 'write' Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° 'close'! ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.