logo

Python | shutil.copyfile() metode

Shutil modul i Python hjælper med at automatisere processen med kopiering og fjernelse af filer og mapper. Det kommer under Pythons standard hjælpemoduler.

Shutil (forkortelse for shell utility)-modulet giver også mange funktioner til operationer på højt niveau på filer og samlinger af filer.



Hvad er metoden Shutil.copyfile()?

Det shutil.copyfile() metode i Python bruges til at kopiere indholdet af kildefilen til destinationsfilen. Filens metadata kopieres ikke. Kilden og destinationen skal repræsentere en fil, og destinationen skal kunne skrives. Hvis destinationen allerede eksisterer, vil den blive erstattet med kildefilen, ellers oprettes en ny fil.

Hvis kilden og destinationen repræsenterer den samme fil, er SameFileError undtagelse vil blive hævet.

shutil.copyfile() Metode syntaks

shutil.copyfile(kilde, destination, *, follow_symlinks = Sand)



Parametre:

  • kilde : En streng, der repræsenterer stien til kildefilen.
  • bestemmelsessted : En streng, der repræsenterer stien til destinationsfilen.
  • follow_symlinks (valgfrit): Standardværdien for denne parameter er True. Hvis False og kilde repræsenterer et symbolsk link, vil et nyt symbolsk link blive oprettet i stedet for at kopiere filen.

Bemærk: '*' i parameterlisten angiver, at alle følgende parametre (her i vores tilfælde 'follow_symlinks') kun er søgeordsparametre, og de kan angives ved hjælp af deres navn, ikke som positionelle parametre.

Vender tilbage:

Denne metode returnerer en streng, der repræsenterer stien til den nyoprettede fil.

Sådan kopieres en fil ved hjælp af Shutil.copyfile()-metoden i Python

Ved at bruge shutil.copyfile() metoden kan du nemt kopiere en fil til en ny fil. For at bruge denne metode skal du blot nævne kildefilens placering og destinationsfilplacering.



Lad os forstå det bedre med et eksempel:

css kommentar

Brug af metoden shutil.copyfile() til at kopiere en fil fra kilde til destination

Her i dette eksempel vil vi se brugen af ​​shutil.copyfile() til hvordan man kopierer en fil fra kilde til destination ved hjælp af 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)>

>

>

Produktion:

 Before copying file: ['hrithik.webp'ltr'>Her ser vi, at der opstår mulige fejl under brug af shutil.copyfile() metoden. Hvis kilden og destinationen repræsenterer den samme fil, vil 'SameFileError'-undtagelsen blive rejst Hvis destinationen er en mappe, vil 'IsADirectoryError'-undtagelsen blive rejst. Hvis destinationen ikke kan skrives, vil 'PermissionError'-undtagelsen blive rejst Python3 # Python-program til at forklare shutil .copyfile() metode # importerer shutil modul import shutil # Kildesti kilde = '/home/User/Documents/file.txt' # Destinationssti destination = '/home/User/Documents/file.txt' # Kopier indholdet af # kilde til destination shutil.copyfile(kilde, destination) Output: Traceback (seneste opkald sidst): Fil 'copy.py', linje 31, i shutil.copyfile(kilde, destination) Fil ' /usr/lib/python3.6/shutil.py', linje 104, i copyfile raise SameFileError('{!r} og {!r} er den samme fil'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' og '/home/User/Documents/file.txt' er den samme fil Destinationssti: /home/User/Documents/file(kopi). txt Fejlhåndtering Her håndterer vi fejl, mens vi bruger shutil.copyfile() metoden. Python3 # Python-program til at forklare shutil.copyfile()-metoden # importerer shutil-modulet importerer shutil # Kildestikilde = '/home/User/Documents/file.txt' # Destinationsstidestination = '/home/User/Documents ' # Kopier indholdet af # kilde til destination prøv: shutil.copyfile(kilde, destination) print('Fil kopieret.') # Hvis kilde og destination er de samme undtagen shutil.SameFileError: print('Kilde og destination repræsenterer den samme fil.') # Hvis destinationen er en mappe. undtagen IsADirectoryError: print('Destination er en mappe.') # Hvis der er et tilladelsesproblem undtagen PermissionError: print('Permission denied.') # For andre fejl undtagen: print('Der opstod en fejl under kopiering af fil .') Output: Destination er en mappe. Vi har dækket metoden til at kopiere en fil i Python ved hjælp af shutil.copyfile()-funktionen. Det er en meget nem at bruge metode, som du kan bruge til at kopiere en fil. Det er meget nyttigt, når du vil oprette en dubletfil.   Læs også: Hvordan kopierer man fil i Python3?   shutil.copy()-metoden Kopier indholdet af en fil til en anden fil Kopier alle filer fra en mappe til en anden ved hjælp af Python Hvordan opretter man en dubletfil af en eksisterende fil ved hjælp af Python?>