Shutil modul i Python hjelper med å automatisere prosessen med kopiere og fjerne filer og kataloger. Det kommer under Pythons standard verktøymoduler.
Shutil (forkortelse for shell utility)-modulen gir også mange funksjoner for høynivåoperasjoner på filer og samlinger av filer.
Hva er Shutil.copyfile()-metoden?
De shutil.copyfile() metode i Python brukes til å kopiere innholdet i kildefilen til målfilen. Metadataene til filen blir ikke kopiert. Kilden og destinasjonen må representere en fil og destinasjonen må være skrivbar. Hvis destinasjonen allerede eksisterer, vil den bli erstattet med kildefilen, ellers opprettes en ny fil.
Hvis kilden og destinasjonen representerer den samme filen, vil SameFileError unntak vil bli hevet.
shutil.copyfile() Metodesyntaks
shutil.copyfile(kilde, destinasjon, *, follow_symlinks = True)
Parametere:
- kilde : En streng som representerer banen til kildefilen.
- mål : En streng som representerer banen til målfilen.
- follow_symlinks (valgfritt) : Standardverdien for denne parameteren er True. Hvis False og kilden representerer en symbolsk lenke, vil en ny symbolsk lenke bli opprettet i stedet for å kopiere filen.
Merk: «*» i parameterlisten indikerer at alle følgende parametere (her i vårt tilfelle «follow_symlinks») er parametere som kun er nøkkelord, og de kan angis ved å bruke navnet deres, ikke som posisjonelle parametere.
Returnerer:
Denne metoden returnerer en streng som representerer banen til den nyopprettede filen.
Hvordan kopiere en fil ved hjelp av Shutil.copyfile()-metoden i Python
Ved å bruke shutil.copyfile()-metoden kan du enkelt kopiere en fil til en ny fil. For å bruke denne metoden trenger du bare å nevne kildefilplasseringen og destinasjonsfilplasseringen.
La oss forstå det bedre med et eksempel:
java lang til streng
Bruk av metoden shutil.copyfile() for å kopiere en fil fra kilde til destinasjon
Her i dette eksemplet vil vi se bruken av shutil.copyfile() for hvordan du kopierer en fil fra kilde til destinasjon ved hjelp av 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)> |
>
>
Produksjon:
Before copying file: ['hrithik.webp'ltr'>Her ser vi Mulige feil oppstå mens du bruker shutil.copyfile() metoden. Hvis kilden og destinasjonen representerer den samme filen, vil 'SameFileError'-unntaket bli hevet Hvis destinasjonen er en katalog, vil 'IsADirectoryError'-unntaket bli hevet. Hvis destinasjonen ikke er skrivbar, vil 'PermissionError'-unntaket bli hevet Python3 # Python-program for å forklare shutil .copyfile()-metode # importerer shutil-modul importerer shutil # Kildebanekilde = '/home/User/Documents/file.txt' # Destinasjonsbanedestinasjon = '/home/User/Documents/file.txt' # Kopier innholdet i # kilde til destinasjon shutil.copyfile(kilde, destinasjon) Utdata: Traceback (siste anrop sist): Fil 'copy.py', linje 31, i shutil.copyfile(kilde, destinasjon) Fil ' /usr/lib/python3.6/shutil.py', linje 104, i copyfile raise SameFileError('{!r} og {!r} er den samme filen'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' og '/home/User/Documents/file.txt' er den samme filen Destinasjonsbane: /home/User/Documents/file(kopi). txt Feilhåndtering Her håndterer vi feil mens vi bruker shutil.copyfile()-metoden. Python3 # Python-program for å forklare shutil.copyfile()-metoden # importerer shutil-modul importerer shutil # Kildebanekilde = '/home/User/Documents/file.txt' # Destinasjonsbanedestinasjon = '/home/User/Documents ' # Kopier innholdet av # kilde til destinasjon prøv: shutil.copyfile(kilde, destinasjon) print('Filen ble kopiert.') # Hvis kilden og destinasjonen er de samme bortsett fra shutil.SameFileError: print('Kilde og destinasjon representerer den samme filen.') # Hvis destinasjonen er en katalog. unntatt IsADirectoryError: print('Destinasjon er en katalog.') # Hvis det er noen tillatelsesproblem unntatt PermissionError: print('Tillatelse nektet.') # For andre feil unntatt: print('Feil oppstod under kopiering av fil .') Utdata: Destinasjon er en katalog. Vi har dekket metoden for å kopiere en fil i Python ved å bruke funksjonen shutil.copyfile(). Det er en veldig enkel å bruke metode som du kan bruke til å kopiere en fil. Det er veldig nyttig når du vil lage en duplikatfil. Les også: Hvordan kopiere fil i Python3? shutil.copy()-metoden Kopier innholdet i en fil til en annen fil Kopier alle filer fra en katalog til en annen ved hjelp av Python Hvordan lage en duplikatfil av en eksisterende fil ved hjelp av Python?>