Usando python para zip arquivos

Usando python para zip arquivos
Com os dados aumentando em tamanho exponencialmente todos os dias, sua preocupação sobre como manter os dados referidos sem fluir seus dispositivos de armazenamento é válido. Compressionando os arquivos produzem em arquivos muito menores conhecidos como arquivos. Esses arquivos contêm todos os seus dados em sua forma original, mas com tamanhos dramaticamente reduzidos. Esse processo pode ser feito simplesmente clicando com o botão direito do mouse em um arquivo/grupo de arquivos e selecionando a opção 'Adicionar ao arquivo'. O mesmo processo também pode ser feito através do Python, e é isso que discutiremos daqui.

Preparando o ambiente Python

Para começar a usar o Python, você precisa ter certeza de que ele instalou corretamente e tudo relacionado às suas dependências está atualizado. Uma das primeiras coisas que você deve fazer antes de instalar qualquer outra coisa é digitar o seguinte comando:

Atualização de sudo apt-get

Este comando executa uma verificação de atualização para qualquer um dos pacotes instalados e procura novos pacotes que foram adicionados aos repositórios. Depois que esse programa é executado com sucesso, agora é hora de verificar se o Python foi instalado corretamente. Isso pode ser confirmado digitando o seguinte comando na janela do terminal:

python3 -v

Se tudo correr conforme o planejado, você deve ver um número de versão como a saída. Se você chegou a este ponto sem nenhum erro, agora pode fazer o download de um IDE para tornar a experiência do Python muito melhor. Por isso, Estaremos usando o notebook Jupyter. Para isso, você precisa executar o seguinte comando:

sudo apt -get -y install ipython ipython notebook && pip install jupyter

Agora você está suficientemente preparado para escrever programas simples de python que podem fazer compactar .arquivos zip e também descompacte -os também.

Para iniciar o notebook Jupyter, você precisa digitar o seguinte comando no terminal: Jupyter Notebook (Nota: a interface IDE que você verá nas capturas de tela abaixo será um pouco diferente do seu notebook Jupyter padrão. Tudo o mais funciona da mesma forma)

Quando o comando for executado, ele abrirá a interface de notebook Jupyter em seu navegador da web e, a partir daí, você pode começar a codificar criando um novo arquivo de notebook. Quando isso for feito, agora você poderá codificar seus programas de arquivamento sem obstáculos.

As importações necessárias

Agora que passamos para a parte da codificação, vamos começar primeiro fazendo as importações necessárias, precisaremos fazer com que essa tarefa aconteça. Se vamos simplesmente fazer um programa que não faça nada além de fazer arquivos zip a partir de arquivos existentes, precisaríamos apenas importar dois módulos:

ZipFile e OS

O módulo 'ZipFile' é bastante auto-explicativo. Ele nos fornece funções muito fáceis de usar que nos permitem criar arquivos ZIP e adicionar diretórios, arquivos e subdiretórios aos arquivos ZIP recém -criados com esforço mínimo. O módulo também tem muitos outros usos disponíveis e, se você quiser conferir seu verdadeiro potencial, fique à vontade para pesquisar no Google sua documentação online.

O módulo 'OS' nos permite lidar com o caminho dos arquivos em nossos programas. Ele nos permite visualizar diretórios e listar seu conteúdo da maneira mais simples possível. Quando essas duas bibliotecas forem usadas juntas, você poderá criar facilmente alguns programas muito robustos para lidar com as tarefas de compactação para você.

Zipping começa aqui

Quando você executa o código na figura abaixo em seu notebook, você verá que um arquivo zip foi criado no diretório e seu tamanho também é consideravelmente baixo para o arquivo original. O exemplo que discutimos envolveu apenas um único arquivo.

Se quisermos dar um passo adiante, onde queremos adicionar diretórios e vários caminhos ao nosso arquivo zip, precisaremos executar o seguinte snippet de código.

Novamente, depois de executar o script, você receberá um novo arquivo zip no diretório em que está atualmente, e seu tamanho será muito menor que o tamanho combinado de seu conteúdo.

Desaviando os arquivos compactados

Você já deve ter adivinhado, e é verdade. Com as bibliotecas que estamos usando, quase todas as tarefas triviais em que podemos pensar foram cuidadosamente criadas em soluções de uma linha na maior parte, e elas são muito eficientes. O mesmo é o caso de descompactar o conteúdo dos arquivos. O mesmo módulo ZipFile será usado aqui e, depois de referenciar o caminho para o arquivo, simplesmente chamaremos uma função chamada extrair tudo que levarão seus argumentos o caminho onde queremos descomprimir o arquivo zip em.

Por que escolher programar isso?

Bem, a resposta a esta pergunta é muito simples; automação. Se você estiver trabalhando com grandes quantidades de dados, obviamente precisará de uma maneira de reduzir o trabalho manual envolvido. Em 2019, se algo puder ser automatizado, deve ser automatizado. Simplesmente não faz sentido fazer uma tarefa redundante que possa ser feita com muito mais eficiência por uma solução muito econômica. A energia que seria desperdiçada em fazer arquivos zip pode ser usada para fazer algo produtivo.