logo

Python | metoda shutil.copyfile().

Modul Shutil în Python ajută la automatizarea procesului de copierea și ștergerea fișierelor și directoare. Vine sub modulele utilitare standard ale Python.

Modulul Shutil (prescurtare pentru utilitarul shell) oferă, de asemenea, multe funcții de operațiuni de nivel înalt asupra fișierelor și colecțiilor de fișiere.



Ce este metoda Shutil.copyfile()?

The shutil.copyfile() metoda in Piton este folosit pentru a copia conținutul fișierului sursă în fișierul destinație. Metadatele fișierului nu sunt copiate. Sursa și destinația trebuie să reprezinte un fișier, iar destinația trebuie să poată fi scrisă. Dacă destinația există deja, atunci aceasta va fi înlocuită cu fișierul sursă, altfel va fi creat un nou fișier.

Dacă sursa și destinația reprezintă același fișier, atunci Excepție SameFileError va fi ridicat.

shutil.copyfile() Sintaxa metodei

shutil.copyfile(sursă, destinație, *, follow_symlinks = True)



Parametri:

  • sursă : Un șir care reprezintă calea fișierului sursă.
  • destinaţie : Un șir reprezentând calea fișierului destinație.
  • follow_symlinks (opțional) : valoarea implicită a acestui parametru este True. Dacă False și sursa reprezintă o legătură simbolică, atunci va fi creată o nouă legătură simbolică în loc de a copia fișierul.

Notă: „*” din lista de parametri indică faptul că toți parametrii următori (aici, în cazul nostru, „follow_symlinks”) sunt parametri numai pentru cuvinte cheie și pot fi furnizați folosind numele lor, nu ca parametri de poziție.

Se intoarce:

Această metodă returnează un șir care reprezintă calea fișierului nou creat.

Cum să copiați un fișier folosind metoda Shutil.copyfile() în Python

Folosind metoda shutil.copyfile() puteți copia cu ușurință un fișier într-un fișier nou. Pentru a utiliza această metodă, trebuie doar să menționați locația fișierului sursă și locația fișierului de destinație.



Să înțelegem mai bine cu un exemplu:

găsiți în șirul c++

Utilizarea metodei shutil.copyfile() pentru a copia un fișier de la sursă la destinație

Aici, în acest exemplu, vom vedea utilizarea shutil.copyfile() pentru a copia un fișier de la sursă la destinație folosind 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)>

>

>

Ieșire:

Aici vedem că apar posibile erori în timpul utilizării metodei shutil.copyfile(). Dacă sursa și destinația reprezintă același fișier, excepția „SameFileError” va fi ridicată Dacă destinația este un director, atunci excepția „IsADirectoryError” va fi ridicată Dacă destinația nu poate fi scrisă, excepția „PermissionError” va fi ridicată Python3 # Programul Python pentru a explica Shuil Metoda .copyfile() # importing shutil module import shutil # Sursă cale sursă = '/home/User/Documents/file.txt' # Destinație cale destinație = '/home/User/Documents/file.txt' # Copiați conținutul # sursă în destinație shutil.copyfile(sursă, destinație) Ieșire: Traceback (cel mai recent apel ultimul): Fișier 'copy.py', linia 31, în shutil.copyfile(sursă, destinație) Fișier ' /usr/lib/python3.6/shutil.py', linia 104, în copyfile ridică SameFileError('{!r} și {!r} sunt același fișier'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' și '/home/User/Documents/file.txt' sunt aceeași cale de destinație a fișierului: /home/User/Documents/file(copy). txt Tratarea erorilor Aici vom trata erorile în timpul utilizării metodei shutil.copyfile(). Python3 # Programul Python pentru a explica metoda shutil.copyfile() # importul modulului shutil import shutil # Calea sursă sursă = '/home/User/Documents/file.txt' # Destinație cale de destinație = '/home/User/Documents ' # Copiați conținutul # sursă în destinație încercați: shutil.copyfile(sursă, destinație) print('Fișier copiat cu succes.') # Dacă sursa și destinația sunt aceleași, cu excepția shutil.SameFileError: print('Source and destinaţia reprezintă acelaşi fişier.') # Dacă destinaţia este un director. cu excepția IsADirectoryError: print('Destinația este un director.') # Dacă există vreo problemă cu permisiunea, cu excepția PermissionError: print('Permission denied.') # Pentru alte erori, cu excepția: print('Eroare a apărut la copierea fișierului .') Ieșire: Destinația este un director. Am acoperit metoda de copiere a unui fișier în Python folosind funcția shutil.copyfile(). Este o metodă foarte ușor de utilizat pe care o puteți folosi pentru a copia un fișier. Este foarte util atunci când doriți să creați un fișier duplicat. Citiți și: Cum să copiați fișierul în Python3? Metoda shutil.copy() Copiați conținutul unui fișier într-un alt fișier Copiați toate fișierele dintr-un director în altul folosind Python Cum se creează un fișier duplicat al unui fișier existent folosind Python?>>>