π ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² python? ΠΠΎΠ»Π½ΡΠΉ Π³ΠΈΠ΄ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²!
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ zipfile.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°:
import zipfile
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡ
ΠΈΠ²Π°
with zipfile.ZipFile('Π°ΡΡ
ΠΈΠ².zip', 'w') as zipf:
zipf.write('ΡΠ°ΠΉΠ»1.txt')
zipf.write('ΡΠ°ΠΉΠ»2.txt')
# Π Π°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
with zipfile.ZipFile('Π°ΡΡ
ΠΈΠ².zip', 'r') as zipf:
zipf.extractall('ΠΏΠ°ΠΏΠΊΠ°')
# ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
with zipfile.ZipFile('Π°ΡΡ
ΠΈΠ².zip', 'r') as zipf:
zipf.extract('ΡΠ°ΠΉΠ»1.txt', 'ΠΏΠ°ΠΏΠΊΠ°')
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ tarfile Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ tar.
import tarfile
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡ
ΠΈΠ²Π°
with tarfile.open('Π°ΡΡ
ΠΈΠ².tar', 'w') as tarf:
tarf.add('ΡΠ°ΠΉΠ»1.txt')
tarf.add('ΡΠ°ΠΉΠ»2.txt')
# Π Π°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
with tarfile.open('Π°ΡΡ
ΠΈΠ².tar', 'r') as tarf:
tarf.extractall('ΠΏΠ°ΠΏΠΊΠ°')
# ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
with tarfile.open('Π°ΡΡ
ΠΈΠ².tar', 'r') as tarf:
tarf.extract('ΡΠ°ΠΉΠ»1.txt', 'ΠΏΠ°ΠΏΠΊΠ°')
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² Python
Π Π°Π±ΠΎΡΠ° Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile Π² Python.
1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° - ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³, ΡΡΠΎΠ±Ρ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ZipFile().
import zipfile
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡΡ
ΠΈΠ²Π°
with zipfile.ZipFile('my_archive.zip', 'w') as zipf:
zipf.write('file1.txt')
zipf.write('folder1')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΠ² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'my_archive.zip'. ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» 'file1.txt' ΠΈ ΠΏΠ°ΠΏΠΊΡ 'folder1' Π² Π°ΡΡ ΠΈΠ².
2. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ extractall(), ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ.
import zipfile
# ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ
ΠΈΠ²Π°
with zipfile.ZipFile('my_archive.zip', 'r') as zipf:
zipf.extractall()
# ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
with zipfile.ZipFile('my_archive.zip', 'r') as zipf:
zipf.extract('file1.txt')
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° 'my_archive.zip'. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ» 'file1.txt' ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°.
3. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π°ΡΡ ΠΈΠ²
ΠΡΠ»ΠΈ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π°ΡΡ ΠΈΠ² ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ write().
import zipfile
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π°ΡΡ
ΠΈΠ²
with zipfile.ZipFile('my_archive.zip', 'a') as zipf:
zipf.write('file2.txt')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π°ΡΡ ΠΈΠ² 'my_archive.zip' ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» 'file2.txt' Π² Π°ΡΡ ΠΈΠ².
4. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ remove().
import zipfile
# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π°ΡΡ
ΠΈΠ²Π°
with zipfile.ZipFile('my_archive.zip', 'a') as zipf:
zipf.remove('file2.txt')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» 'file2.txt' ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°.
5. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° namelist().
import zipfile
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ
ΠΈΠ²Π΅
with zipfile.ZipFile('my_archive.zip', 'r') as zipf:
file_list = zipf.namelist()
print(file_list)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅ 'my_archive.zip' ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ zipfile. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π°ΡΡ ΠΈΠ²Ρ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π°ΡΡ ΠΈΠ²Π΅. ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² Python.