Aprendendo Python? Veja como copiar um arquivo

Aprendendo Python? Veja como copiar um arquivo

Você quer melhorar suas habilidades em Python? Então você pode tentar realizar algumas tarefas em seu computador com Python. Copiar e colar arquivos de um diretório para outro com Python é uma maneira divertida de fazer isso.





Além de ser divertido, ele permite que você leia e grave arquivos rapidamente, sem se distrair do código. Se você é novo no Python, é uma habilidade que você ainda precisa aprender de uma forma ou de outra. Então, vamos descobrir como copiar arquivos com Python por meio deste artigo.





Requisitos para copiar arquivos com Python

Existem muitas maneiras de copiar e colar arquivos com Python. Portanto, o requisito para fazer isso varia e depende do método que você decidir usar.





Embora você possa não precisar de módulos extras para copiar arquivos com Python, você ainda pode usar bibliotecas integradas, se desejar.

Por exemplo, se você deseja usar o os método, você precisa importá-lo em seu código. No entanto, uma das maneiras populares de copiar arquivos com Python é usando o fechadura biblioteca.



Vamos ver como podemos usar esses vários métodos para copiar arquivos com Python.

Como copiar arquivos usando a biblioteca Shutil integrada do Python

o fechadura módulo é uma biblioteca Python integrada e poderosa para ler e escrever arquivos rapidamente em Python.





Para usá-lo, você só precisa fornecer o caminho completo dos arquivos de origem e destino.

como melhorar o desempenho dos jogos no Windows 10

Em essência, fechadura assume este formato:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Por exemplo, o código abaixo usa shutil.copy () para copiar um arquivo chamado copy.txt de uma pasta chamada minha pasta em outro chamado destino . Em seguida, ele renomeia o arquivo de destino como newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

Observe que você pode escrever seu código em qualquer editor de código de sua escolha. Você pode então executá-lo usando a linha de comando.

No entanto, você também pode usar o Python Integrated Development Environment (IDLE) padrão se não estiver familiarizado com a execução do Python por meio da linha de comando.

Relacionado: Comandos do prompt de comando (CMD) que você deve conhecer

o shutil.copy método não copia os metadados do arquivo de origem. Em essência, sua máquina vê o arquivo de destino como um totalmente novo e fornece novos metadados.

No entanto, para copiar os metadados junto com o arquivo original, use o shutil.copy2 método:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

O método acima preserva os metadados originais do arquivo antigo no arquivo de destino. Por exemplo, o arquivo de destino retém a data em que você criou o arquivo de origem, seu tamanho e outros atributos.

o follow_symlinks argumento é uma declaração de link simbólico que permite fechadura siga um caminho absoluto. Portanto, você precisa incluí-lo se os arquivos de origem e destino estiverem em diretórios diferentes.

Mas se ambos os arquivos estiverem em seu diretório de trabalho atual, você não precisa incluir um follow_symlinks . Se você fizer isso, o Python gerará uma exceção de sintaxe.

minecraft como jogar com amigos pc

Portanto, se você estiver colando o arquivo de origem em seu diretório de trabalho atual, seu código deve ser semelhante a este:

import shutil
shutil.copy2(sourceFile, destinationFile)

Além de usar os métodos shutil acima, você também pode usar shutil.copyfile ou shutil.copyfileobj .

Usando shutil.copyfileobj é um pouco diferente, pois requer o embutido abrir função. Então, você precisa ler e escrever binário, incluindo o 'rb' e 'wb' argumentos.

Vamos ver como o shutil.copyfileobj método funciona usando os mesmos diretórios que usamos anteriormente:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

Observe que shutil.copyfileobj () não requer o follow_symlinks argumento.

Contudo, shutil.copyfile () funciona da mesma maneira .cópia de e .copy2 faz. Eles diferem apenas insignificantemente em suas funções internas.

Para usar o shutil.copyfile () método:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

Como copiar arquivos com o módulo OS

o os módulo usa dois métodos embutidos para copiar arquivos; os.system() e os.popen () métodos.

o os.system() método permite que você imite o ambiente de linha de comando.

No entanto, uma deficiência dos métodos de sistema operacional é que eles apenas copiam arquivos dentro do seu diretório de trabalho atual.

Para usar o os.system() método no Windows:

import os
os.system('copy source.txt destination.txt)

Você também pode usar o xcopy Comando do terminal do Windows:

import os
os.system('xcopy source.txt destination.txt)

Para usar o os.system método no Linux, substitua cópia de com cp :

import os
os.system('cp source.txt destination.txt)

Como copiar arquivos usando o método os.popen

Para usar este método, substitua os.system() com os.popen () .

No Windows, use:

import os
os.popen('copy source.txt destination.txt)

Como fizemos com os.system() , substituir cópia de com cp para usar este método no Linux:

import os
os.popen('cp source.txt destination.txt)

Como copiar arquivos com o módulo de subprocesso do Python

Além dos métodos acima, você também pode usar o subprocesso () biblioteca para copiar arquivos em Python:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

No entanto, no Linux, use:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

o subprocesso biblioteca também usa subprocess.check_out () método. isso funciona do mesmo jeito subprocess.call () faz:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

No Linux, substitua cópia de com cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

No entanto, como os métodos os, os métodos de subprocesso funcionam apenas com arquivos em seu diretório de trabalho atual.

Observação: Você também pode copiar arquivos em uma pasta se ela estiver no mesmo diretório de trabalho do arquivo de origem. Tudo o que você precisa fazer é substituir o nome do arquivo de destino pelo nome da pasta de destino. No entanto, certifique-se de que a pasta de destino e o arquivo de origem estejam em seu diretório de trabalho atual.

Como copiar arquivos em Python sem usar bibliotecas

Você também pode copiar arquivos em Python sem depender de nenhuma biblioteca. Como o método shutil, você só precisa dos caminhos completos dos diretórios de origem e destino.

como saber se um papaizinho é real

Veja como fazer isso:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Para tornar o código reutilizável, você pode modificá-lo em uma função:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

É isso. Você acabou de fazer uma copiadora de arquivo reutilizável com Python sem usar nenhuma biblioteca.

Continue automatizando tarefas com Python

Além de ajudá-lo a manter o foco em seu código durante a construção de projetos, copiar arquivos com Python permite que você entenda melhor o gerenciamento de arquivos com Python. No entanto, brincar com as tarefas Python é uma maneira de melhorar suas habilidades em Python, especialmente se você for um iniciante.

Por exemplo, você pode alterar a data e a hora no seu PC com o módulo os. Você pode até escrever comandos bash personalizados com Python, se quiser.

Compartilhado Compartilhado Tweet O email Como criar seus próprios programas de linha de comando em Python com clique

Quer fazer seus próprios programas de linha de comando Python, mas acha isso muito difícil? Use o Click, uma ferramenta útil do Python para otimizar seu código.

Leia a seguir
Tópicos relacionados
  • Programação
  • Pitão
Sobre o autor Idisou Omisola(94 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com programação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever