π ΠΠ°ΠΊ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² zip? ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΏΠΈΡΠΎΠ½!
ΠΠ°ΠΊ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² zip Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ»Ρ Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ zip Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile
. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import zipfile
def create_zip(file_paths, output_name):
with zipfile.ZipFile(output_name, 'w') as zipf:
for file in file_paths:
zipf.write(file)
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
files_to_archive = ['file1.txt', 'file2.txt', 'file3.txt']
output_file = 'archive.zip'
create_zip(files_to_archive, output_file)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ create_zip
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΡ
ΠΈΠ²Π°. Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» output_name
Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° file_paths
Π²Π½ΡΡΡΡ Π°ΡΡ
ΠΈΠ²Π°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π²Π½ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π°ΡΡ ΠΈΠ²Π΅, ΡΠΊΠ°Π·Π°Π² ΠΏΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°:
zipf.write(file, arcname='path/inside/zip/'+file)
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ zip Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² zip Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ zip ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ zip-Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile Π΄Π»Ρ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π¨Π°Π³ 1: ΠΠΌΠΏΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile
import zipfile
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π°
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΠ².
archive = zipfile.ZipFile('ΠΈΠΌΡ_Π°ΡΡ
ΠΈΠ²Π°.zip', 'w')
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΡΠ΅ΠΆΠΈΠΌ "w" Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²Π°.
Π¨Π°Π³ 3: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» Π² Π°ΡΡ ΠΈΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ write. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΠΈ Π΅Π³ΠΎ ΠΈΠΌΡ Π²Π½ΡΡΡΠΈ Π°ΡΡ ΠΈΠ²Π°.
archive.write('ΠΏΡΡΡ_ΠΊ_ΡΠ°ΠΉΠ»Ρ')
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅Π»ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π°ΡΡ ΠΈΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° write.
archive.write('ΠΏΡΡΡ_ΠΊ_Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ')
Π¨Π°Π³ 4: ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π°
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΠΊΡΡΡΡ Π°ΡΡ ΠΈΠ², ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
archive.close()
ΠΡΠΈΠΌΠ΅Ρ: ΠΠ°Π°ΡΡ ΠΈΠ²ΠΈΡΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²
import zipfile
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ
ΠΈΠ²
archive = zipfile.ZipFile('ΠΌΠΎΠΉ_Π°ΡΡ
ΠΈΠ².zip', 'w')
# ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ Π² Π°ΡΡ
ΠΈΠ²
archive.write('file1.txt')
archive.write('file2.txt')
archive.write('file3.txt')
# ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ Π°ΡΡ
ΠΈΠ²
archive.close()
ΠΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΠ² Ρ ΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π²Π½ΡΡΡΠΈ. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡ ΠΏΡΡΠΈ, ΡΡΠΎΠ±Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π°ΡΡ ΠΈΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ extractall.
archive = zipfile.ZipFile('ΠΈΠΌΡ_Π°ΡΡ
ΠΈΠ²Π°.zip', 'r')
archive.extractall('ΠΏΡΡΡ_Π΄Π»Ρ_ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ') # Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ
archive.close()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π°ΡΡ ΠΈΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ ('r'), ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° extractall ΠΈ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π°ΡΡ ΠΈΠ². Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π²ΠΌΠ΅ΡΡΠΎ 'ΠΏΡΡΡ_Π΄Π»Ρ_ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ'.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile Π² Python Π΄Π»Ρ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ zip. ΠΠΎΠ΄ΡΠ»Ρ zipfile ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π°ΡΡ ΠΈΠ²ΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π·Π°Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² zip Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python! ΠΡΠ°ΠΊΡΠΈΠΊΡΠΉΡΠ΅ΡΡ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.