Python: Jak zmienić nazwę pliku podczas kompresowania do pliku Zip lub rozkompresowywania z pliku Zip.
Kompresowanie z nową nazwą
Czasami chcemy zmienić nazwa kompresowanego pliku lub umieścić w podkatalogu w pliku zip.
Funkcja zipfile.write()
może przyjąć nową nazwę, która będzie użyta wewntrz pliku zip.
write("folder_on_disk/name_on_disk", "folder_in_zip_file/name_in_zip_file")
Przykład
import zipfile
z = zipfile.ZipFile('output.zip', 'w')
z.write('images/image.gif', 'new_folder/new_name.gif')
z.close()
# test
z = zipfile.ZipFile('output.zip')
print(z.namelist())
Rozkompresowywanie do nowej nazwy
Czasami chcemy zmienić nazwę rozkompresowywanego pliku lub umieścić go w podkatalog na dysku.
Funkcja zipfile.extract()
nie potrafi tego zrobić ale można użyć zipfile.read()
wraz ze standardowymi open()
, write()
Przykład
import zipfile
import os
z = zipfile.ZipFile('output.zip')
#os.makedirs('other_folder', exist_ok=True)
f = open('other_folder/other_image.gif', 'wb'):
f.write(z.read('new_folder/new_name.gif'))
f.close()
If you like it
Buy a Coffee
Buy a Coffee