A linguagem de programação chamada Python é muito fácil de usar e fácil de entender. O Python suporta muitos pacotes que envolvem funções internas que tornam a codificação, a transferência de arquivos e a computação em geral muito mais fácil. Um desses pacote é chamado de fechamento. Shutil é um módulo na biblioteca padrão Python que pertence ao arquivo e à categoria de acesso ao diretório a partir de Python 3.10. Este pacote Python, geralmente conhecido como Utilitários da Shell, permite que os usuários realizem operações complexas em arquivos individuais e arquivos do sistema. É uma ferramenta que suporta processos envolvendo a exclusão ou cópia de arquivos que podem ser automatizados com a ajuda deste módulo.
Sintaxe:
O fechamento.Move () Função leva dois parâmetros, a saber, a fonte que aceita um tipo de string que representa o caminho do arquivo de origem e o destino que aceita um argumento de tipo de string que representa o caminho do diretório de destino. A função também leva um terceiro parâmetro opcional chamado função de cópia. O módulo define o copy2 como a função de cópia padrão. Pode ser alterado para uma função de cópia diferente se esse é melhor as suas necessidades. Se este terceiro parâmetro for mantido como seu valor padrão do copy2, o copy2 é o valor predeterminado para este argumento. Para este argumento, também podemos usar as funções de cópia alternativas.
A função copia recursivamente um arquivo ou diretório de um local (a fonte) para outro local especificado (o destino). Então, ele copia o destino de volta. A fonte é realocada para o diretório de destino se já existir lá.
Exemplo 1:
Exemplo 1 mostra o uso mais básico desta função. Depois de importar o módulo fechado, a variável "X" é definida para a localização do arquivo de origem atual. Considerando que a variável "y" é definida para o local desejado, onde o novo arquivo de destino é criado. O fechamento.Move () A função é chamada com os parâmetros de origem e destino fornecidos através das variáveis "X" e "Y". A variável "Z" contém a string retornada que tem o destino do conteúdo de origem realocado.
Depois que as linhas de código anteriores são executadas, o terminal exibe o seguinte resultado, como mostrado na imagem anterior. Como esperado, o arquivo que foi salvo no C: \ Users \ aqsa \ Desktop \ aleatória.A localização do texto agora está movida para o disco E.
Como resultado, a figura anterior mostra que, à medida que o disco E é aberto, o arquivo que estava no local anterior agora é visto como desejado.
Exemplo 2:
Neste exemplo, a função de cópia que é copy2 por padrão é alterada para fechar.Copiar árvore.
A funcionalidade básica do fechamento.Técnica de copiar árvore () e o fechamento.Move () Método é mover um arquivo se o diretório de destino já existir.
Anteriormente, importamos o módulo de fechamento antes de usar qualquer uma de suas funções. O código anterior copia o conteúdo do arquivo no local da fonte para um local de arquivo já existente. Usamos o método Copy Tree () porque o destino já está presente. Semelhante ao Exemplo 1, as variáveis "x" e "y" contêm os locais de origem e destino do arquivo em questão, respectivamente, no formato da string. O fechamento.Move () A função é chamada com a função de cópia definida para fechar.Copiar árvore. A variável "Z" contém a saída da função, que é o novo local do arquivo que está localizado anteriormente em "X" no formato da string.
A figura anterior mostra a saída no terminal, que é o novo local do arquivo que é movido. Mais importante, o arquivo na localização da fonte não é apagado durante a realocação, diferentemente do copy2.
Exemplo 3:
No Exemplo 3, vemos a mudança de várias pastas de um local para outro usando fechado.mover(). O snippet seguinte mostra a existência de dois arquivos chamados “NewFile.txt ”e“ aleatório.TXT". Atualmente, esses dois arquivos estão localizados em C: \ Usuários \ Aqsa \ Desktop \ 123.
No código anterior, fizemos uso de outro módulo chamado OS. Este módulo, assim como o pacote fechado, contém funções para a criação e remoção de um diretório (pasta), recuperando seu conteúdo, modificar e identificar o diretório atual, etc. Primeiro, existem dois caminhos salvos nas variáveis “PATH1” e “PATH2”, respectivamente. Então, um loop é executado de modo que todos os arquivos em "Path1" sejam deslocados para "Path2". O movimento dos arquivos é feito usando o fechamento.mover().
Como pode ser visto na imagem anterior, os arquivos são movidos com sucesso para o local do destino, mantendo o pedido.
Exemplo 4:
Para este exemplo, considere o arquivo chamado “aleatório.txt ”que é salvo no disco O local da pasta E: \. Usando o código no próximo snippet, criamos um novo arquivo em um novo local com seu conteúdo que está em “aleatório.TXT".
Depois que os locais de origem e destino são salvos em variáveis, a saber, "x" e "y", salvamos nosso nome de arquivo no arquivo variável na forma de uma string. Uma vez feito isso, usando o módulo OS, utilizamos uma função chamada OS.caminho.splitext () onde o nome do caminho de "arquivo" é dividido em duas partes - raiz e extensão. Nesse caso, a raiz é tudo, exceto o componente de extensão do caminho fornecido. Considerando que o Ext significa extensão e contém essa peça. Agora, salvamos as duas partes em variáveis separadas em que a primeira parte da divisão A [0], que é o caminho do arquivo, é salva em "nome". Considerando que a segunda parte A [1] é salva em "formato" que contém a extensão que, neste caso, é ".TXT". Agora, a nova variável "B" se junta às cordas do "nome" e "formato" com a adição da string "2.0 "no meio. Os caminhos em "Y" e "B" são unidos usando a função do sistema operacional chamada OS.caminho.ingressar () e salvo em "C". Uma vez feito isso, fazemos uso do fechamento.Move () Função para mover o arquivo na localização da fonte de "X + arquivo" para o local de destino de "C".
O trecho anterior mostra que o novo arquivo chamado “Random2.0.txt ”no código anterior agora está salvo no local de destino.
Exemplo 5:
Neste quinto exemplo, os mesmos arquivos no Exemplo 4 são usados onde eles estão em seu novo local, conforme definido no Exemplo 4. Neste exemplo, mostraremos como transferir os arquivos de uma lista atualmente localizada em uma pasta para outra.
O código anterior mostra os locais de origem e destino salvos nas variáveis "x1" e "y1". A lista "files_to_move" contém os elementos que são os nomes dos arquivos. Usando o loop, podemos atravessar a lista "files_to_move" e mover os arquivos usando o fechamento.Move () Função para a fonte de destino que é armazenada em "Y1".
Como pode ser visto na imagem anterior, os arquivos são transferidos com sucesso para seu novo local.
Exemplo 6:
Em nosso exemplo final, empregaremos os mesmos arquivos usados no Exemplo 5 para mover um arquivo se o nome do arquivo contiver uma string específica.
Neste código, garantimos um módulo adicional chamado "glob". Como sempre, os locais de origem e destino são salvos. Também temos uma variável de string chamada "formato" que é útil para determinar os arquivos que possuem o ".txt ”extensão. Uma lista de arquivos que correspondem à extensão fornecida no argumento do formato é devolvida pelo globo.função glob (). Então, a próxima etapa move cada arquivo usando o fechamento.move () comando usando o loop.
Todos os arquivos são transferidos com sucesso, como visto no trecho anterior.
Conclusão
Shutil é uma ferramenta útil que é útil e oferece mais controle, especialmente ao manipular os locais dos arquivos enquanto preservam o conteúdo do arquivo. O módulo fechado tem muitas funções e uma das quais é a função chamada fechada.mover(). Usando este módulo, uma variedade de operações de alto nível pode ser empregada em arquivos e coleções de arquivos enquanto discutimos os múltiplos exemplos sobre esse conceito no artigo.