Shutil-module in Python helpt het proces van automatiseren bestanden kopiëren en verwijderen en mappen. Het valt onder de standaard hulpprogrammamodules van Python.
De Shutil-module (afkorting van shell utility) biedt ook veel functies voor bewerkingen op hoog niveau op bestanden en verzamelingen bestanden.
Wat is de Sutil.copyfile()-methode?
De shutil.copyfile() methode in Python wordt gebruikt om de inhoud van het bronbestand naar het doelbestand te kopiëren. De metadata van het bestand worden niet gekopieerd. De bron en bestemming moeten een bestand vertegenwoordigen en de bestemming moet schrijfbaar zijn. Als de bestemming al bestaat, wordt deze vervangen door het bronbestand, anders wordt er een nieuw bestand gemaakt.
Als de bron en de bestemming hetzelfde bestand vertegenwoordigen, wordt het SameFileError-uitzondering zal worden verhoogd.
shutil.copyfile() Methode Syntaxis
shutil.copyfile(bron, bestemming, *, follow_symlinks = True)
Parameters:
- bron : Een tekenreeks die het pad van het bronbestand vertegenwoordigt.
- bestemming : Een tekenreeks die het pad van het doelbestand vertegenwoordigt.
- volg_symlinks (optioneel): De standaardwaarde van deze parameter is True. Als False en bron een symbolische link vertegenwoordigen, wordt er een nieuwe symbolische link gemaakt in plaats van het bestand te kopiëren.
Opmerking: De ‘*’ in de parameterlijst geeft aan dat alle volgende parameters (hier in ons geval ‘follow_symlinks’) alleen trefwoordparameters zijn en dat ze kunnen worden opgegeven met behulp van hun naam, niet als positionele parameters.
Geeft terug:
Deze methode retourneert een tekenreeks die het pad van het nieuw gemaakte bestand vertegenwoordigt.
Hoe een bestand te kopiëren met de Sutil.copyfile()-methode in Python
Met de methode shutil.copyfile() kunt u eenvoudig een bestand naar een nieuw bestand kopiëren. Om deze methode te gebruiken hoeft u alleen de locatie van het bronbestand en de locatie van het doelbestand te vermelden.
Laten we het beter begrijpen met een voorbeeld:
vang en probeer Java
Gebruik van de shutil.copyfile() methode om een bestand van bron naar bestemming te kopiëren
Hier in dit voorbeeld zullen we het gebruik van shutil.copyfile() zien voor het kopiëren van een bestand van bron naar bestemming met behulp van 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)> |
>
>
Uitgang:
Before copying file: ['hrithik.webp'ltr'>Hier zien we dat er mogelijke fouten optreden tijdens het gebruik van de methode shutil.copyfile(). Als de bron en het doel hetzelfde bestand vertegenwoordigen, wordt de uitzondering 'SameFileError' gegenereerd. Als de bestemming een map is, wordt de uitzondering 'IsADirectoryError' gegenereerd. Als de bestemming niet beschrijfbaar is, wordt de uitzondering 'PermissionError' gegenereerd. Python3 # Python-programma om shutil uit te leggen .copyfile() methode # import shutil module import shutil # Bronpad bron = '/home/Gebruiker/Documenten/bestand.txt' # Bestemmingspad bestemming = '/home/Gebruiker/Documenten/bestand.txt' # Kopieer de inhoud van # source naar bestemming shutil.copyfile(bron, bestemming) Uitvoer: Traceback (meest recente oproep laatste): Bestand 'copy.py', regel 31, in shutil.copyfile(bron, bestemming) Bestand ' /usr/lib/python3.6/shutil.py', regel 104, in copyfile raise SameFileError('{!r} en {!r} zijn hetzelfde bestand'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' en '/home/User/Documents/file.txt' zijn hetzelfde bestand. Bestemmingspad: /home/User/Documents/file(copy). txt Foutafhandeling Hier behandelen we fouten tijdens het gebruik van de shutil.copyfile()-methode. Python3 # Python-programma om de methode shutil.copyfile() uit te leggen # shutil-module importeren shutil # Bronpad bron = '/home/Gebruiker/Documenten/bestand.txt' # Bestemmingspad bestemming = '/home/Gebruiker/Documenten ' # Kopieer de inhoud van # bron naar bestemming try: shutil.copyfile(bron, bestemming) print('Bestand succesvol gekopieerd.') # Als bron en bestemming hetzelfde zijn behalve shutil.SameFileError: print('Bron en bestemming vertegenwoordigt hetzelfde bestand.') # Als bestemming een map is. behalve IsADirectoryError: print('Destination is a directory.') # Als er een toestemmingsprobleem is behalve PermissionError: print('Toestemming geweigerd.') # Voor andere fouten behalve: print('Er is een fout opgetreden tijdens het kopiëren van het bestand .') Uitvoer: Bestemming is een map. We hebben de methode besproken voor het kopiëren van een bestand in Python met behulp van de functie shutil.copyfile(). Het is een zeer eenvoudig te gebruiken methode die u kunt gebruiken om een bestand te kopiëren. Dit is erg handig als u een duplicaatbestand wilt maken. Lees ook: Hoe kopieer ik een bestand in Python3? shutil.copy() methode Kopieer de inhoud van het ene bestand naar een ander bestand Kopieer alle bestanden van de ene map naar de andere met Python. Hoe maak ik een duplicaat van een bestaand bestand met Python?>