DEV Community

Francisco Júnior
Francisco Júnior

Posted on

11

Explorando as Funções da Biblioteca `shutil` em Python

A biblioteca shutil é uma ferramenta poderosa para operações de arquivo e diretório em Python. Vamos analisar algumas de suas principais funções:

1. shutil.copy(src, dst)

Esta função é usada para copiar um arquivo de origem (src) para um destino (dst).

Exemplo:

import shutil

shutil.copy('arquivo.txt', 'caminho/destino/arquivo_copiado.txt')
Enter fullscreen mode Exit fullscreen mode

2. shutil.copy2(src, dst)

Similar à função copy(), porém preserva os metadados do arquivo, como timestamps e permissões.

Exemplo:

import shutil

shutil.copy2('arquivo.txt', 'caminho/destino/arquivo_copiado.txt')
Enter fullscreen mode Exit fullscreen mode

3. shutil.copyfile(src, dst)

Essa função copia o conteúdo de um arquivo de origem para um arquivo de destino, excluindo os metadados.

Exemplo:

import shutil

shutil.copyfile('arquivo_origem.txt', 'arquivo_destino.txt')
Enter fullscreen mode Exit fullscreen mode

4. shutil.copytree(src, dst, symlinks=False)

Copiar um diretório inteiro de forma recursiva para o destino.

Exemplo:

import shutil

shutil.copytree('diretorio_origem', 'caminho/para/destino')
Enter fullscreen mode Exit fullscreen mode

5. shutil.move(src, dst)

Move um arquivo ou diretório de um local para outro.

Exemplo:

import shutil

shutil.move('arquivo.txt', 'novo_diretorio/arquivo_movido.txt')
Enter fullscreen mode Exit fullscreen mode

6. shutil.rmtree(path)

Remove um diretório e todo o seu conteúdo de forma recursiva.

Exemplo:

import shutil

shutil.rmtree('diretorio_para_excluir')
Enter fullscreen mode Exit fullscreen mode

7. shutil.disk_usage(path)

Fornece informações sobre o uso de disco para um caminho especificado.

Exemplo:

import shutil

info = shutil.disk_usage('/caminho/do/diretorio')
print("Espaço Total:", info.total)
print("Espaço Usado:", info.used)
print("Espaço Livre:", info.free)
Enter fullscreen mode Exit fullscreen mode

8. shutil.make_archive(base_name, format, root_dir=None, base_dir=None)

Cria um arquivo compactado (por exemplo, .zip, .tar) de um diretório.

Exemplo:

import shutil

shutil.make_archive('arquivo_zip', 'zip', 'diretorio_a_zipar')
Enter fullscreen mode Exit fullscreen mode

9. shutil.unpack_archive(filename, extract_dir=None)

Extrai um arquivo compactado para um diretório especificado.

Exemplo:

import shutil

shutil.unpack_archive('arquivo_zip.zip', 'diretorio_destino')
Enter fullscreen mode Exit fullscreen mode

10. shutil.get_archive_formats()

Retorna uma lista de formatos de arquivo suportados para a criação de arquivos compactados.

Exemplo:

import shutil

formats = shutil.get_archive_formats()
print("Formatos de Arquivo Suportados:", formats)
Enter fullscreen mode Exit fullscreen mode

Estas funções são apenas uma amostra do que a biblioteca shutil oferece. Elas permitem realizar uma variedade de operações em arquivos e diretórios, desde cópia e movimentação até compactação e exclusão, facilitando o trabalho com sistemas de arquivos em Python.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay