logo

Pitone | metodo shutil.copyfile()

Modulo Shutil in Python aiuta ad automatizzare il processo di copiare e rimuovere file e directory. Rientra nei moduli di utilità standard di Python.

Il modulo Shutil (abbreviazione di shell utility) fornisce anche molte funzioni di operazioni di alto livello su file e raccolte di file.



Cos'è il metodo Shutil.copyfile()?

IL shutil.copiafile() metodo dentro Pitone viene utilizzato per copiare il contenuto del file di origine nel file di destinazione. I metadati del file non vengono copiati. L'origine e la destinazione devono rappresentare un file e la destinazione deve essere scrivibile. Se la destinazione esiste già verrà sostituita con il file sorgente altrimenti verrà creato un nuovo file.

Se l'origine e la destinazione rappresentano lo stesso file, allora il file Eccezione SameFileError verrà sollevato.

shutil.copiafile() Sintassi del metodo

shutil.copyfile(sorgente, destinazione, *, follow_symlinks = True)



parametri:

  • fonte : una stringa che rappresenta il percorso del file di origine.
  • destinazione : una stringa che rappresenta il percorso del file di destinazione.
  • follow_link simbolici (facoltativo): il valore predefinito di questo parametro è True. Se False e source rappresenta un collegamento simbolico, verrà creato un nuovo collegamento simbolico invece di copiare il file.

Nota: Il '*' nell'elenco dei parametri indica che tutti i parametri successivi (qui nel nostro caso 'follow_symlinks') sono parametri composti solo da parole chiave e possono essere forniti utilizzando il loro nome, non come parametri posizionali.

Ritorna:

Questo metodo restituisce una stringa che rappresenta il percorso del file appena creato.

Come copiare un file utilizzando il metodo Shutil.copyfile() in Python

Usando il metodo shutil.copyfile() puoi facilmente copiare un file in un nuovo file. Per utilizzare questo metodo è sufficiente menzionare il percorso del file di origine e il percorso del file di destinazione.



Capiamolo meglio con un esempio:

shehzad poonawala

Utilizzo del metodo shutil.copyfile() per copiare un file dall'origine alla destinazione

Qui in questo esempio vedremo l'uso di shutil.copyfile() su come copiare un file dall'origine alla destinazione utilizzando Python.

Python3




# Python program to explain shutil.copyfile() method> # importing os module> import> os> # importing shutil module> import> shutil> # path> path>=> '/home/User/Documents'> # List files and directories> # in '/home/User/Documents'> print>(>'Before copying file:'>)> print>(os.listdir(path))> # Source path> source>=> '/home/User/Documents/file.txt'> # Destination path> destination>=> '/home/User/Documents/file(copy).txt'> # Copy the content of> # source to destination> dest>=> shutil.copyfile(source, destination)> # List files and directories> # in '/home / User / Documents'> print>(>'After copying file:'>)> print>(os.listdir(path))> # Print path of newly> # created file> print>(>'Destination path:'>, dest)>

>

>

Produzione:

 Before copying file: ['hrithik.webp'ltr'>Qui vediamo che si verificano possibili errori durante l'utilizzo del metodo shutil.copyfile(). Se l'origine e la destinazione rappresentano lo stesso file verrà sollevata l'eccezione 'SameFileError' Se la destinazione è una directory verrà sollevata l'eccezione 'IsADirectoryError' Se la destinazione non è scrivibile verrà sollevata l'eccezione 'PermissionError' Python3 # Programma Python per spiegare shutil metodo .copyfile() # importing shutil modulo import shutil # Percorso di origine source = '/home/Utente/Documenti/file.txt' # Percorso di destinazione destinazione = '/home/Utente/Documenti/file.txt' # Copia il contenuto di # sorgente nella destinazione shutil.copyfile(sorgente, destinazione) Output: Traceback (ultima chiamata più recente): File 'copy.py', riga 31, in shutil.copyfile(sorgente, destinazione) File ' /usr/lib/python3.6/shutil.py', riga 104, in copyfile raise SameFileError('{!r} e {!r} sono lo stesso file'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' e '/home/User/Documents/file.txt' sono lo stesso file Percorso di destinazione: /home/User/Documents/file(copy). txt Gestione degli errori Eccoci a gestire gli errori durante l'utilizzo del metodo shutil.copyfile(). Python3 # Programma Python per spiegare il metodo shutil.copyfile() # importazione del modulo shutil import shutil # Percorso sorgente source = '/home/Utente/Documenti/file.txt' # Percorso di destinazione destinazione = '/home/Utente/Documenti ' # Copia il contenuto di # origine nella destinazione prova: shutil.copyfile(origine, destinazione) print('File copiato con successo.') # Se origine e destinazione sono le stesse tranne shutil.SameFileErrore: print('Origine e destinazione rappresenta lo stesso file.') # Se la destinazione è una directory. tranne IsADirectoryError: print('La destinazione è una directory.') # Se c'è qualche problema di autorizzazione tranne PermissionError: print('Permissione negata.') # Per altri errori tranne: print('Si è verificato un errore durante la copia del file .') Output: La destinazione è una directory. Abbiamo trattato il metodo per copiare un file in Python utilizzando la funzione shutil.copyfile(). È un metodo molto semplice da usare che puoi utilizzare per copiare un file. È molto utile quando vuoi creare un file duplicato.   Leggi anche: Come copiare file in Python3?   Metodo shutil.copy() Copia il contenuto di un file in un altro file Copia tutti i file da una directory all'altra usando Python Come creare un file duplicato di un file esistente usando Python?>