A Python környezet előkészítése
A Python használatának megkezdéséhez meg kell győződnie arról, hogy helyesen van-e telepítve, és minden, ami a függőségeivel kapcsolatos, naprakész. Az első dolog, amit bármi más telepítése előtt meg kell tennie, írja be a következő parancsot:
sudo apt-get frissítés
Ez a parancs elvégzi a telepített csomagok frissítésellenőrzését, és új, a tárolókba felvett csomagokat keres. Miután a program sikeresen futott, itt az ideje ellenőrizni, hogy a python megfelelően lett-e telepítve. Ezt meg lehet erősíteni a következő parancs beírásával a terminál ablakában:
python3 -v
Ha minden a tervek szerint haladt, akkor kimenetként egy verziószámot kell látnia. Ha hiba nélkül jutott el ide, most folytathatja az IDE letöltését, hogy a python élmény sokkal jobb legyen. Azért, Jupyter jegyzetfüzetet fogunk használni. Ehhez a következő parancsot kell futtatnia:
sudo apt-get -y install ipython ipython notebook && pip install jupyter
Most már eléggé felkészült arra, hogy egyszerű Python programokat tudjon írni, amelyek tömöríteni tudnak .zip fájlokat, és azokat is kicsomagolja.
A Jupyter notebook indításához be kell írnia a következő parancsot a terminálba: jupyter notebook (Megjegyzés: Az alábbi képernyőképeken látható IDE felület kissé különbözik a szokásos Jupyter notebook-tól. Minden más ugyanúgy működik)
A parancs futtatása után megnyitja a Jupyter notebook felületét a webböngészőben, és onnan kezdheti el a kódolást egy új notebook fájl létrehozásával. Ha ez megtörtént, akkor minden akadály nélkül kódolni tudja az archiváló programokat.
A szükséges import
Most, hogy áttérünk a kódoló részre, kezdjük azzal, hogy először elvégezzük a szükséges importokat, amelyekre szükségünk lesz ennek a feladatnak a megvalósításához. Ha egyszerűen olyan programot fogunk készíteni, amely a zip fájlok elkészítésén kívül semmit sem tesz a meglévő fájlokból, akkor csak két modult kell importálnunk:
zipfile és osA 'zipfile' modul eléggé magától értetődő. Nagyon könnyen használható funkciókat biztosít számunkra, amelyek lehetővé teszik a zip fájlok létrehozását, és könyvtárak, fájlok és alkönyvtárak hozzáadását az újonnan létrehozott zip fájlokhoz minimális erőfeszítéssel. A modul még sok más felhasználási lehetőséggel is rendelkezik, és ha meg akarja nézni valódi lehetőségeit, nyugodtan keresse fel a Google dokumentációját online.
Az 'os' modul lehetővé teszi számunkra, hogy a fájljainkkal javítsuk programjainkat. Lehetővé teszi számunkra a könyvtárak megtekintését és azok tartalmának a lehető legegyszerűbb módon történő felsorolását. Ha mindkét könyvtárat együtt használják, akkor könnyen létrehozhat néhány nagyon robusztus programot a tömörítési feladatok kezelésére.
A cipzár itt kezdődik
Amikor futtatja a noteszgépen az alábbi képen látható kódot, látni fogja, hogy egy zip fájl jött létre a könyvtárban, és mérete is jelentősen alacsonyabb, mint az eredeti fájl. Az általunk tárgyalt példa egyetlen fájlt tartalmazott.
Ha egy lépéssel tovább akarunk lépni, ahol könyvtárakat és több utat szeretnénk hozzáadni a zip fájlunkhoz, akkor a következő kódrészletet kell futtatnunk.
Ismét a szkript futtatása után egy új zip fájlt mutat be a könyvtárban, amelyben éppen tartózkodik, és mérete sokkal kisebb lesz, mint a tartalom együttes mérete.
A tömörített fájlok kibontása
Talán már sejtette, és ez igaz. Az általunk használt könyvtárakkal szinte minden aprócska feladat, amelyre gondolhatunk, többnyire gondosan egy soros megoldásokká lettek kidolgozva, és nagyon hatékonyak. Ugyanez a helyzet a fájlok tartalmának kibontásával is. Ugyanezt a zipfile modult fogja használni itt, és miután hivatkoztunk a fájl elérési útjára, egyszerűen meghívunk egy függvényt extractall amely az argumentumaiban azt az utat fogja megtenni, ahová a zip fájlt szeretnénk kibontani.
Miért válassza ezt programozni?
Nos, erre a kérdésre nagyon egyszerű a válasz; automatizálás. Ha nagy mennyiségű adattal dolgozik, akkor nyilvánvalóan szüksége lesz arra, hogy lerövidítse a fizikai munkát. 2019-ben, ha valamit automatizálni lehet, azt automatizálni kell. Egyszerűen nincs értelme olyan redundáns feladatot végezni, amelyet egy nagyon költséghatékony megoldás sokkal hatékonyabban végezhet el. Az az energia, amelyet a zip fájlok készítése pazarolna el, különben felhasználható valami produktív művelethez.