Подготовка на средата на Python
За да започнете да използвате Python, трябва да се уверите, че сте го инсталирали правилно и всичко, свързано с неговите зависимости, е актуално. Едно от първите неща, които трябва да направите, преди да инсталирате нещо друго, е да въведете следната команда:
sudo apt-get update
Тази команда извършва проверка за актуализация за всеки от инсталираните пакети и търси нови пакети, които са добавени в хранилищата. След като тази програма се изпълни успешно, сега е време да проверите дали python е инсталиран правилно. Това може да бъде потвърдено чрез въвеждане на следната команда в прозореца на терминала:
python3 -v
Ако всичко върви по план, трябва да видите номера на версията като изход. Ако сте стигнали до този момент без никаква грешка, сега можете да продължите да изтегляте IDE, за да направите опитът на python много по-добър. За това, ще използваме тетрадка Jupyter. За това трябва да изпълните следната команда:
sudo apt-get -y install ipython ipython notebook && pip install jupyter
Вече сте достатъчно подготвени да пишете прости програми на Python, които могат да компресират .zip файлове и също ги разархивирайте.
За да стартирате бележник Jupyter, трябва да въведете следната команда в терминала: jupyter notebook (Забележка: IDE интерфейсът, който ще видите на екранните снимки по-долу, ще бъде малко по-различен от стандартния ви преносим компютър Jupyter. Всичко останало работи по същия начин)
Когато командата се изпълни, тя ще отвори интерфейса на бележника Jupyter във вашия уеб браузър и оттам можете да започнете да кодирате, като създадете нов файл на бележника. Когато това приключи, вече ще можете да кодирате вашите програми за архивиране без никакви препятствия.
Необходимият внос
Сега, когато преминахме към частта за кодиране, нека започнем, като първо направим необходимите импорти, които ще са ни необходими, за да се осъществи тази задача. Ако просто ще създадем програма, която не прави нищо освен създаването на zip файлове от съществуващи файлове, тогава просто ще трябва да импортираме два модула:
zipfile и osМодулът „zipfile“ е доста обяснителен. Предоставя ни много лесни за използване функции, които ни позволяват да създаваме zip файлове и да добавяме директории, файлове и поддиректории към новосъздадените zip файлове с минимални усилия. Модулът има много повече налични приложения, а ако искате да проверите истинския му потенциал, не се колебайте да потърсите в документацията му онлайн.
Модулът 'os' ни позволява да се справяме с път към файлове в нашите програми. Тя ни позволява да преглеждаме директориите и да изброяваме съдържанието им по възможно най-прости начини. Когато двете библиотеки се използват заедно, ще можете лесно да създадете някои много стабилни програми, които да се справят с компресиращите задачи вместо вас.
Ципирането започва тук
Когато стартирате кода на снимката по-долу във вашия бележник, ще видите, че в директорията е създаден zip файл и размерът му също е значително по-нисък от оригиналния файл. Примерът, който обсъдихме, включваше само един файл.
Ако искаме да направим още една стъпка, където искаме да добавим директории и множество пътища към нашия zip файл, ще трябва да стартираме следния кодов фрагмент.
Отново, след стартиране на скрипта, ще ви бъде представен нов zip файл в директорията, в която се намирате в момента и размерът му ще бъде много по-малък от комбинирания размер на съдържанието му.
Разархивирайте компресираните файлове
Може би вече сте се досетили и е вярно. С библиотеките, които използваме, почти всички тривиални задачи, за които можем да се сетим, са внимателно изработени в еднолинейни решения в по-голямата си част и са много ефективни. Същият случай е и за разархивиране на съдържанието на файловете. Тук ще се използва същият zipfile модул и след препращане на пътя към файла, ние просто ще извикаме функция, наречена екстрактал който ще вземе в своите аргументи пътя, в който искаме да декомпресираме zip файла.
Защо да изберете да програмирате това?
Е, отговорът на този въпрос е много прост; автоматизация. Ако работите с големи количества данни, очевидно ще ви е необходим начин за съкращаване на ръчния труд. През 2019 г., ако нещо може да бъде автоматизирано, то трябва да бъде автоматизирано. Просто няма смисъл да се прави излишна задача, която може да бъде изпълнена много по-ефективно чрез много рентабилно решение. Енергията, която би била загубена при създаването на zip файлове, иначе може да се използва за правене на нещо продуктивно.