Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Зиповање је елегантан начин компримовања неколико датотека и њиховог комбиновања у једну. Ово штеди не само простор за складиштење већ и пропусни опсег приликом преноса датотеке преко мреже. Једна од најбољих карактеристика зип-а је то што ради на свим главним платформама: Виндовс, Линук и Мац.

Зип користи компресију без губитака тако да задржава све податке када их компримује и декомпримује. Такође можете да шифрујете и дешифрујете своје зип датотеке.

Са толико функција које треба истражити, откријте како можете да читате, зипујете и распакујете датотеке помоћу Питхон зипфиле модула.

Шта је зипфиле модул?

Можете да користите стандардни зипфиле модул за манипулисање зип датотекама помоћу Питхон-а. Помоћу овог модула можете отварати и читати зип датотеке, читати њихове метаподатке, креирати зип датотеку, компресовати је и распаковати датотеке. Доступне су три методе компресије: Дефлате, Бзип2 и ЛЗМА.

Једна од ствари које недостаје модулу је могућност руковања датотекама на више дискова, али он ради са екстензијом ЗИП64. Такође може да дешифрује зип архиве, али не и да их шифрује. Користећи зипфиле модул можете добити метаподатке зип датотеке као што су датум и време измене. Такође можете преузети детаље као што су оперативни систем који се користи за креирање датотеке, верзија зип-а и величина датотеке у компримованом и некомпримованом формату.

Како да зип датотеке користећи Питхон

Можете зиповати више датотека у једну архиву користећи Питхон-ов зипфиле модул. Увезите ЗипФиле модул из зипфиле пакет за обављање потребних зип операција. Такође увоз тхе ос модул за избор и чување датотека.

Дефинишите функцију гет_алл_филе_патхс(). Требало би да прихвати параметар директоријума који садржи путању до фасцикле која садржи датотеке за зип.

Иницијализирајте празну листу која ће чувати листу путања датотека. Користите фор петљу да бисте добили пун садржај циљног директоријума користећи ос.валк() функција. Ова функција дохваћа имена датотека у стаблу директорија померајући се по њему приступом одозго надоле или одоздо према горе. За сваки директоријум, функција враћа три-торку која садржи роот, директоријуме и датотеке.

Корен је низ који садржи пуну путању до директоријума. Листа директоријума укључује све поддиректорије садржане у директоријуму. Листа датотека садржи све датотеке присутне у директоријуму.

Унутар петље, прогласите другу петља за понављање преко листе датотека. Користити ос.патх.јоин() функција за комбиновање имена директоријума са сваким именом датотеке да би се направила потпуна путања. Затим додајте ово комплетно име датотеке на листу коју сте раније креирали. Када се ова операција заврши, вратите листу путања датотека.

# увозите потребне модуле
из зипфиле увоз ЗипФиле
увоз ос

# креирајте функцију да добијете све путање датотека
дефгет_алл_филе_патхс(именик):
# иницијализација празне листе за чување путања датотека
путање_датотека = []

# се креће кроз датотеке
закорен, именике, фајловиинос.ходати(именик):
за име датотеке у датотекама:
# придружите корену и имену датотеке да бисте направили потпуну путању до датотеке
филепатх = ос.патх.јоин (роот, име датотеке)
филе_патхс.додати(филепатх)

# враћање свих путања датотека
повратак филе_патхс

Сачувајте путању до фасцикле која садржи датотеке које желите да зипујете у променљиву која се зове директоријум. Позовите функцију, гет_алл_филе_патхс() коју сте креирали раније и чувате вредност у којој се враћа филе_патхс.

Прикажите поруку кориснику како бисте га обавестили да су то датотеке које ће програм зиповати. Пређите преко датотека и прикажите њихова имена.

Проследите име које желите да ваша зип датотека има заједно са спецификацијом да програм враћа датотеку на коју се може писати користећи изјаву витх за руковање изузецима. Пређите преко сваке датотеке и користите функцију врите() преко датотеке на коју се може писати у зип датотеку.

Када се операција заврши, испишите поруку која објашњава да је програм успешно зиповао све датотеке.

# путања до фасцикле коју желите да зипујете
именик = './питхонзип'

# позива функцију да добије све путање датотека у директоријуму
филе_патхс = гет_алл_филе_патхс (директоријум)

# штампање листе свих датотека које желите да зипујете
принт('Листа датотека које ће бити зиповане:')

за филе_наме у филе_патхс:
принт(назив документа)

# уписивање датотека у зип датотеку
са ЗипФиле('ми_филе.зип', 'в') као зип:
# напишите сваки фајл један по један
за фајл у филе_патхс:
зип.врите(фајл)

принт(„Све датотеке су компримоване!“)

Како распаковати датотеке користећи Питхон

Имплементација распакивања датотека помоћу зипфиле модула је много лакша. Увезите зипфиле пакет од ЗипФиле модул и сачувајте име зип датотеке коју желите да издвојите у променљиву. Користите наредбу витх за руковање изузецима и отворите датотеку коју желите да издвојите у режиму читања. Користити принтдир() функција за приказ садржаја датотека присутних у зип-у.

Прикажите поруку о напретку да извлачите датотеке и користите екстракталл() функција за издвајање садржаја зип датотеке у тренутни радни директоријум. Алтернативно, можете укључити параметар путање да бисте променили путању где програм издваја датотеке.

Прикажите поруку користећи принт изјава о завршетку операције.

# увоз потребних модула
из зипфиле увоз ЗипФиле

# проследите име зип датотеке коју желите да издвојите
филе_наме = "ектрацт.зип"

# отварање зип датотеке у режиму читања
са ЗипФиле (име_датотеке, 'р') као зип:
# приказује садржај зип датотеке
зип.принтдир()

# издвајање свих датотека
принт('Издвајање је у току...')
зип.ектрацталл()
принт(„Све датотеке су извучене!“)

Више о Зип датотекама

Зип датотеке су стекле велику популарност и користе се деценијама. Популарне веб локације као што су ГитХуб и Гоогле Дриве вам омогућавају да преузмете колекцију датотека као зип архиву. Зип програм компримује скуп датотека у један пакет. Ово је у супротности са алатом као што је тар који пакује датотеке заједно, али их не компресује.

Ако желите да шифрујете своје датотеке користећи ефикаснији алгоритам, РАР датотеке су прави начин. РАР користи АЕС-128 алгоритам који је бољи од алгоритма дефлате који користе зип датотеке. На крају крајева, изаберите онај који најбоље одговара вашим потребама.