Пример-1: Сажимање једне датотеке
Направите нову датотеку под називом 'поштански број1.пи ' и додајте следећи код. зипфиле модул се увози за компресовање датотеке. темп.зип додељује се као зип датотека са режимом писања, а затим оригинално име датотеке, темп.ткт и тип компресије дати су као параметри у методи писања.
импорт зипфилезип_филе = зипфиле.ЗипФиле ('темп.зип ',' в ')
зип_филе.врите ('темп.ткт ', цомпресс_типе = зипфиле.ЗИП_ДЕФЛАТЕД)
зип_филе.Близу()
Покрените скрипту
$ питхон3 поштански број1.пиВеличина темп.ткт је 27 бајтова а након компресије величина темп.зип је 2 бајта.
Пример-2: Компримовање одређеног директоријума
Направите нову датотеку под називом 'зипцоде2.пи ' и додајте следећи код. Директоријум може садржати много датотека, директоријума и подмапа. Да бисте прочитали садржај директоријума, ос модул питхон се увози са зипфиле модул за компримовање директоријума. У овом сценарију, мидир директоријум се користи за компресију.
# увезите потребне модулеимпорт ос
импорт зипфиле
# Прогласите функцију за враћање свих стаза датотека одређеног директорија
деф ретриеве_филе_патхс (дирНаме):
# променљива путање датотека за подешавање
филеПатхс = []
# Прочитајте све директоријуме, поддиректоријуме и листе датотека
за роот, директоријуме, датотеке у ос.хода (дирНаме):
за име датотеке у датотекама:
# Креирајте целу путању датотека помоћу ос модула.
филеПатх = ос.пут.придружи се (роот, име датотеке)
филеПатхс.аппенд (филеПатх)
# врати све стазе
врати филеПатхс
# Прогласите главну функцију
деф маин ():
# Доделите име директоријуму у зип
дир_наме = 'мидир'
# Позовите функцију за преузимање свих датотека и фасцикли додељеног директоријума
филеПатхс = ретриеве_филе_патхс (име_дир)
# исписује списак свих датотека које се компримовају
принт ('Следећа листа датотека биће компримована:')
за филеНаме у филеПатхс:
принт (филеНаме)
# писање датотека у зип датотеку
зип_филе = зипфиле.ЗипФиле (дир_наме + '.зип ',' в ')
са зип_филе:
# писање сваке датотеке једну по једну
за датотеку у филеПатхс:
зип_филе.писање (датотека)
принт (име_дир + '.зип датотека је успешно креирана!')
# Позовите главну функцију
ако је __наме__ == "__главно__":
главни()
Покрените скрипту
$ питхон3 зипцоде2.пиВеличина мидир је 21 бајта а након компресије величина мидир.зип је 2 бајта.
Пример-3: Сажимање директоријума датог аргументом командне линије
Направите нову датотеку под називом 'зипцоде3.пи ' и додајте следећи код. Да бисте прочитали вредност командне линије, још један питхон модул сис се увози са ос и зипфиле модула.
# увезите потребне модулеимпорт ос
импорт сис
импорт зипфиле
# Прогласите функцију за враћање свих стаза датотека одређеног директоријума
деф ретриеве_филе_патхс (дирНаме):
# променљива путање датотека за подешавање
филеПатхс = []
# Прочитајте све директоријуме, поддиректоријуме и листе датотека
за роот, директоријуме, датотеке у ос.хода (дирНаме):
за име датотеке у датотекама:
# Креирајте потпуну датотеку путем ос модула.
филеПатх = ос.пут.придружи се (роот, име датотеке)
филеПатхс.аппенд (филеПатх)
# врати све стазе
врати филеПатхс
# Прогласите главну функцију
деф маин ():
# Проверите да ли су дата два аргумента у тренутку покретања скрипте
ако је лен (сис.аргв) != 2:
принт ("Унели сте име директоријума у зип")
сис.излаз (1)
# Поставите име директоријума из командног аргумента
име_дирка = сис.аргв [1]
# Подесите назив зип датотеке
зипФилеНаме = дир_наме + ".зип "
# Позовите функцију за преузимање свих датотека и директоријума додељеног директоријума
филеПатхс = ретриеве_филе_патхс (име_дир)
# одштампајте списак датотека за зиповање
принт ('Следећа листа датотека биће компримована:')
за филеНаме у филеПатхс:
принт (филеНаме)
# записујте датотеке и фасцикле у зип датотеку
зип_филе = зипфиле.ЗипФиле (зипФилеНаме, 'в')
са зип_филе:
# сваку датотеку напишите засебно
за датотеку у филеПатхс:
зип_филе.писање (датотека)
принт (датотека зипФилеНаме + 'је успешно креирана!')
# Позовите главну функцију
ако је __наме__ == "__главно__":
главни()
Покрените скрипту
$ питхон3 зипцоде3.питест даје се као име директоријума у аргументу командне линије. Величина тест је 21 бајта а након компресије величина тест.зип је 2 бајта.
Надам се да ће вам овај водич помоћи да користите питхон за компримовање било које датотеке или директоријума.