Shutil modul i Python hjälper till att automatisera processen för kopiera och ta bort filer och kataloger. Det kommer under Pythons standardverktygsmoduler.
Shutil (förkortning av shell utility)-modulen tillhandahåller också många funktioner för högnivåoperationer på filer och samlingar av filer.
Vad är metoden Shutil.copyfile()?
De shutil.copyfile() metod i Pytonorm används för att kopiera innehållet i källfilen till målfilen. Metadata för filen kopieras inte. Källan och destinationen måste representera en fil och destinationen måste vara skrivbar. Om destinationen redan finns kommer den att ersättas med källfilen annars skapas en ny fil.
Om källan och destinationen representerar samma fil så är SameFileError undantag kommer att höjas.
shutil.copyfile() Metodsyntax
shutil.copyfile(källa, destination, *, follow_symlinks = True)
Parametrar:
- källa : En sträng som representerar sökvägen till källfilen.
- destination : En sträng som representerar sökvägen till målfilen.
- follow_symlinks (valfritt) : Standardvärdet för denna parameter är True. Om False och källa representerar en symbolisk länk kommer en ny symbolisk länk att skapas istället för att kopiera filen.
Notera: '*' i parameterlistan indikerar att alla följande parametrar (här i vårt fall 'follow_symlinks') är parametrar endast för nyckelord och de kan tillhandahållas med deras namn, inte som positionsparametrar.
Returnerar:
Denna metod returnerar en sträng som representerar sökvägen till den nyskapade filen.
Hur man kopierar en fil med metoden Shutil.copyfile() i Python
Med metoden shutil.copyfile() kan du enkelt kopiera en fil till en ny fil. För att använda den här metoden behöver du bara nämna källfilens plats och destinationsfilens plats.
Låt oss förstå det bättre med ett exempel:
vad är 10 av 60
Användning av metoden shutil.copyfile() för att kopiera en fil från källa till destination
Här i det här exemplet kommer vi att se användningen av shutil.copyfile() för hur man kopierar en fil från källa till destination med 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'>Här ser vi att Möjliga fel uppstår när du använder metoden shutil.copyfile(). Om källan och destinationen representerar samma fil kommer 'SameFileError'-undantaget att höjas Om destinationen är en katalog så kommer 'IsADirectoryError'-undantaget att höjas Om destinationen inte är skrivbar kommer 'PermissionError'-undantaget att höjas Python3 # Python-program för att förklara shutil .copyfile()-metod # importerar shutil-modulen importerar shutil # Källsökväg källa = '/home/User/Documents/file.txt' # Destinationssökväg destination = '/home/User/Documents/file.txt' # Kopiera innehållet i # källa till destination shutil.copyfile(källa, destination) Utdata: Spårning (senaste anropet senast): Fil 'copy.py', rad 31, i shutil.copyfile(källa, destination) Fil ' /usr/lib/python3.6/shutil.py', rad 104, i copyfile raise SameFileError('{!r} och {!r} är samma fil'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' och '/home/User/Documents/file.txt' är samma fil Destinationssökväg: /home/User/Documents/file(copy). txt Felhantering Här hanterar vi fel när vi använder metoden shutil.copyfile(). Python3 # Python-program för att förklara metoden shutil.copyfile() # importerar shutil-modulen importerar shutil # Källsökväg källa = '/home/User/Documents/file.txt' # Destinationssökväg destination = '/home/User/Documents ' # Kopiera innehållet i # källa till destination försök: shutil.copyfile(källa, destination) print('Filen har kopierats framgångsrikt.') # Om källan och destinationen är samma förutom shutil.SameFileError: print('Källa och destination representerar samma fil.') # Om destinationen är en katalog. förutom IsADirectoryError: print('Destination är en katalog.') # Om det finns något behörighetsproblem förutom PermissionError: print('Permission denied.') # För andra fel förutom: print('Fel inträffade vid kopiering av fil .') Utdata: Destination är en katalog. Vi har täckt metoden för att kopiera en fil i Python med funktionen shutil.copyfile(). Det är en mycket lättanvänd metod som du kan använda för att kopiera en fil. Det är mycket användbart när du vill skapa en dubblettfil. Läs också: Hur kopierar man fil i Python3? shutil.copy() metod Kopiera innehållet i en fil till en annan fil Kopiera alla filer från en katalog till en annan med Python Hur skapar man en dubblettfil av en befintlig fil med Python?>