Shutil modul v Pythonu pomaga avtomatizirati postopek kopiranje in odstranjevanje datotek in imeniki. Nahaja se pod standardnimi pomožnimi moduli Python.
Modul Shutil (okrajšava za shell utility) ponuja tudi številne funkcije visokonivojskih operacij nad datotekami in zbirkami datotek.
Kaj je metoda Shutil.copyfile()?
The shutil.copyfile() metoda v Python se uporablja za kopiranje vsebine izvorne datoteke v ciljno datoteko. Metapodatki datoteke se ne kopirajo. Izvor in cilj morata predstavljati datoteko, cilj pa mora biti zapisljiv. Če cilj že obstaja, bo nadomeščen z izvorno datoteko, sicer bo ustvarjena nova datoteka.
Če vir in cilj predstavljata isto datoteko, potem je Izjema SameFileError bo dvignjen.
shutil.copyfile() Sintaksa metode
shutil.copyfile(vir, cilj, *, follow_symlinks = True)
Parametri:
- vir : Niz, ki predstavlja pot izvorne datoteke.
- cilj : Niz, ki predstavlja pot do ciljne datoteke.
- follow_symlinks (neobvezno) : privzeta vrednost tega parametra je True. Če False in vir predstavlja simbolno povezavo, bo namesto kopiranja datoteke ustvarjena nova simbolna povezava.
Opomba: »*« na seznamu parametrov pomeni, da so vsi naslednji parametri (v našem primeru »follow_symlinks«) parametri samo s ključnimi besedami in jih je mogoče navesti z uporabo njihovega imena, ne pa kot pozicijski parametri.
Vrne:
Ta metoda vrne niz, ki predstavlja pot do novo ustvarjene datoteke.
Kako kopirati datoteko z metodo Shutil.copyfile() v Pythonu
Z uporabo metode shutil.copyfile() lahko preprosto kopirate datoteko v novo datoteko. Če želite uporabiti to metodo, morate le omeniti lokacijo izvorne in ciljne datoteke.
Razumejmo to bolje s primerom:
igralec ranbir kapoor starost
Uporaba metode shutil.copyfile() za kopiranje datoteke od vira do cilja
V tem primeru bomo videli uporabo shutil.copyfile() za kopiranje datoteke iz vira v cilj s Pythonom.
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)> |
>
>
Izhod:
Before copying file: ['hrithik.webp'ltr'>Tukaj vidimo Možne napake, ki se pojavijo med uporabo metode shutil.copyfile(). Če izvor in cilj predstavljata isto datoteko, se sproži izjema 'SameFileError' Če je cilj imenik, se sproži izjema 'IsADirectoryError' Če cilj ni zapisljiv, sproži se izjema 'PermissionError' Python3 # Python program za razlago shutil .copyfile() metoda # importing shutil module import shutil # Vir izvorne poti = '/home/User/Documents/file.txt' # Cilj ciljne poti = '/home/User/Documents/file.txt' # Kopirajte vsebino # vira v cilj shutil.copyfile(source, destination) Izhod: Traceback (zadnji zadnji klic): Datoteka 'copy.py', vrstica 31, v shutil.copyfile(source, destination) Datoteka ' /usr/lib/python3.6/shutil.py', vrstica 104, v datoteki kopiranja dvig SameFileError('{!r} in {!r} sta ista datoteka'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' in '/home/User/Documents/file.txt' sta ista datoteka Ciljna pot: /home/User/Documents/file(copy). txt Obravnava napak Tukaj obravnavamo napake pri uporabi metode shutil.copyfile(). Python3 # Program Python za razlago metode shutil.copyfile() # importing shutil module import shutil # Izvorna pot source = '/home/User/Documents/file.txt' # Destination path destination = '/home/User/Documents ' # Kopiraj vsebino # vira v cilj poskusi: shutil.copyfile(source, destination) print('Datoteka uspešno kopirana.') # Če sta izvor in cilj enaka, razen shutil.SameFileError: print('Vir in destinacija predstavlja isto datoteko.') # Če je destinacija imenik. razen IsADirectoryError: print('Cilj je imenik.') # Če obstaja kakšna težava z dovoljenjem razen PermissionError: print('Dovoljenje zavrnjeno.') # Za druge napake razen: print('Prišlo je do napake med kopiranjem datoteke .') Izhod: Cilj je imenik. Pokrili smo metodo kopiranja datoteke v Python s funkcijo shutil.copyfile(). To je zelo preprosta metoda, ki jo lahko uporabite za kopiranje datoteke. Zelo uporabno je, če želite ustvariti dvojnik datoteke. Preberite tudi: Kako kopirati datoteko v Python3? metoda shutil.copy() Kopiraj vsebino ene datoteke v drugo datoteko Kopiraj vse datoteke iz enega imenika v drugega s Pythonom Kako ustvariti dvojnik obstoječe datoteke s Pythonom?>