Kurti slaptažodžiu apsaugotus ZIP archyvus naudojant nemokamą Python biblioteką
Vyriausia atviro kodo efektyvi ir saugi Python biblioteka, kuri leidžia Python kūrėjams kurti slaptažodžiu apsaugotus ZIP failus su pasirinktais suspaudimo nustatymais per nemokamą API.
Kas yra Pyminizip biblioteka?
Pyminizip yra galinga, atviro kodo Python biblioteka, kuri leidžia programinės įrangos kūrėjams kurti slaptažodžiu apsaugotus ZIP failus su pasirinktinais suspaudimo lygiais. Sukurta kaip apvalkalas aplink minizip algoritmą iš zlib paketo, ji siūlo paprastą API, tinkamą pradedantiesiems, tuo pačiu teikdama patikimą funkcionalumą sudėtingesniems poreikiams. Pagrindinės savybės apima slaptažodžiu apsaugotų ZIP failų kūrimą, kelių failų ar visų aplankų suspaudimą, katalogų suspaudimą ir reguliuojamus suspaudimo nustatymus.
Sukurtas Srdjan Mihajlovic, ši greita ir lengva priemonė yra puiki duomenų atsarginių kopijų, archyvavimo ir debesų saugojimo programoms. Pyminizip palaiko kryžminės platformos suderinamumą Windows, macOS ir Linux sistemose ir pagerina saugumą naudojant AES šifravimą konfidencialiems failams. Jos paprasta integracija tinka tiek paprastiems skriptams, tiek sudėtingoms GUI, suteikdama lankstumą tvarkant atskirus failus, paketinius veiksmus ir katalogus įvairiose Python programose.
Pradžia su Pyminizip
Rekomenduojamas būdas įdiegti Pyminizip yra naudoti pypi.org. Prašome naudoti šią komandą sklandžiam įdiegimui.
Įdiekite Pyminizip per .NET iš pypi
$ pip install pyminizipKlonuokite Pyminizip saugyklą iš GitHub
git clone https://github.com/smihica/pyminizip.git
Taip pat galima įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.Slaptažodžiu apsaugoto ZIP kūrimas naudojant Python
Atviro kodo Pyminizip biblioteka leidžia programų kūrėjams lengvai kurti ir tvarkyti slaptažodžiu apsaugotus ZIP failus savo Python programose. Nors Python standartinė biblioteka siūlo kai kuriuos suspaudimo įrankius, zipfile modulyje trūksta slaptažodžio apsaugos. Pyminizip užpildo šią spragą, leidžiant vartotojams šifruoti failus naudojant AES šifravimo standartą. Žemiau pateiktas pavyzdys rodo, kaip programų kūrėjai gali sukurti slaptažodžiu apsaugotus ZIP failus ir nustatyti suspaudimo lygį Python programose.
Kaip sukurti slaptažodžiu apsaugotą ZIP failą Python programose?
import pyminizip
# Define file paths and password
input_file = "sample.txt" # file to zip
output_file = "sample.zip" # output zip file name
password = "securepassword"
compression_level = 5 # range 1-9, where 1 is fastest and 9 is maximum compression
# Create password-protected zip file
pyminizip.compress(input_file, None, output_file, password, compression_level)
print(f"{output_file} created with password protection.")
Katalogo suspaudimas naudojant Python API
Beje, suspaudžiant ne tik atskirus failus, Pyminizip biblioteka leidžia suspausti visus katalogus vos keliais Python kodo eilutėmis. Ši funkcija yra patogi, kai reikia sujungti kelis failus, ypač atsarginių kopijų kūrimui ar platinimui. Biblioteka įtrauks visus nurodyto katalogo failus ir aplankus, suteikdama galimybę slaptažodžiu apsaugoti visą archyvą. Čia pateikiamas labai naudingas pavyzdys, kaip suspausti katalogą Python programose.
Kaip suspausti katalogą naudojant Python biblioteką?
import pyminizip
import os
def compress_directory(directory_path, output_file, password, compression_level):
for root, _, files in os.walk(directory_path):
for file in files:
file_path = os.path.join(root, file)
arcname = os.path.relpath(file_path, directory_path)
pyminizip.compress(file_path, arcname, output_file, password, compression_level)
# Usage
directory_path = "my_folder"
output_file = "my_folder.zip"
password = "mypassword"
compression_level = 5
compress_directory(directory_path, output_file, password, compression_level)
print(f"Directory '{directory_path}' compressed into '{output_file}' with password protection.")
Suspaudimo lygio valdymas naudojant Python API
Atviro kodo Pyminizip Python biblioteka suteikia kontrolę dėl suspaudimo lygio, leidžiančią vartotojams subalansuoti suspaudimo greitį ir failo dydį. Žemesnis lygis lemia greitesnį suspaudimą, bet didesnį išvesties dydį, o aukštesnis lygis suteikia geresnį suspaudimą, tačiau sulėtėjus. Šis lankstumas daro Pyminizip pritaikymą įvairioms naudojimo situacijoms, nuo greito archyvavimo iki efektyvaus failų saugojimo. Štai pavyzdys, kuris demonstruoja, kaip išbandyti skirtingus suspaudimo lygius Python programose.
Kaip taikyti skirtingus suspaudimo lygius Python programose?
import pyminizip
input_file = "example.txt"
password = "test123"
for level in range(1, 10):
output_file = f"example_level_{level}.zip"
pyminizip.compress(input_file, None, output_file, password, level)
print(f"Created {output_file} with compression level {level}")
Integracija su Python programomis
Atsižvelgiant į jos paprastumą ir naudojimo patogumą, Pyminizip biblioteka gali būti lengvai integruota į Python programas, reikalaujančias failų suspaudimo. Ji ypač gerai veikia su atsarginių kopijų įrankiais, saugių failų paskirstymo sistemomis ir archyvavimo programomis, kurioms reikalinga slaptažodžio apsauga.