logo

Python | shutil.copyfile() metodas

Shutil modulis Python padeda automatizuoti procesą failų kopijavimas ir pašalinimas ir katalogus. Jis patenka į standartinius Python paslaugų modulius.

Modulis „Shutil“ (sutrumpinimas iš apvalkalo naudingumo) taip pat suteikia daugybę aukšto lygio operacijų su failais ir failų rinkiniais funkcijų.



Kas yra Shutil.copyfile() metodas?

The shutil.copyfile() metodas in Python naudojamas šaltinio failo turiniui nukopijuoti į paskirties failą. Failo metaduomenys nenukopijuojami. Šaltinis ir paskirties vieta turi būti failas, o paskirties vieta turi būti įrašoma. Jei paskirties vieta jau yra, ji bus pakeista šaltinio failu, kitaip bus sukurtas naujas failas.

Jei šaltinis ir paskirties vieta yra tas pats failas, tada SameFileError išimtis bus pakeltas.

shutil.copyfile() Metodo sintaksė

shutil.copyfile(šaltinis, paskirties vieta, *, follow_symlinks = Tiesa)



Parametrai:

  • šaltinis : eilutė, nurodanti šaltinio failo kelią.
  • Kelionės tikslas : eilutė, nurodanti paskirties failo kelią.
  • follow_symlinks (pasirenkama) : numatytoji šio parametro reikšmė yra True. Jei „False“ ir šaltinis reiškia simbolinę nuorodą, bus sukurta nauja simbolinė nuoroda, o ne kopijuojant failą.

Pastaba: „*“ parametrų sąraše rodo, kad visi toliau nurodyti parametrai (mūsų atveju „follow_symlinks“) yra tik raktinių žodžių parametrai ir jie gali būti pateikti naudojant jų pavadinimą, o ne kaip padėties parametrus.

Grąžina:

Šis metodas grąžina eilutę, nurodančią naujai sukurto failo kelią.

Kaip nukopijuoti failą naudojant Shutil.copyfile() metodą Python

Naudodami shutil.copyfile() metodą galite lengvai nukopijuoti failą į naują failą. Norėdami naudoti šį metodą, tiesiog turite paminėti šaltinio failo vietą ir paskirties failo vietą.



Supraskime tai geriau pateikdami pavyzdį:

statybininko dizaino modelis

Shutil.copyfile() metodo naudojimas norint nukopijuoti failą iš šaltinio į paskirties vietą

Šiame pavyzdyje pamatysime shutil.copyfile() naudojimą, kaip nukopijuoti failą iš šaltinio į paskirties vietą naudojant 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)>

>

>

Išvestis:

Čia matome Galimos klaidos, atsirandančios naudojant shutil.copyfile() metodą. Jei šaltinis ir paskirties vieta žymi tą patį failą, bus iškelta išimtis 'SameFileError' Jei paskirties vieta yra katalogas, bus iškelta 'IsADirectoryError' išimtis Jei paskirties vieta nerašoma, bus iškelta 'PermissionError' išimtis Python3 # Python programa paaiškina shutil .copyfile() metodas # importuojant shutil modulį importuoti shutil # Šaltinio kelias source = '/home/User/Documents/file.txt' # Paskirties kelio paskirties vieta = '/home/User/Documents/file.txt' # Nukopijuokite # šaltinio turinį į paskirties vietą shutil.copyfile(šaltinis, paskirties vieta) Išvestis: Traceback (paskutinis skambutis): Failas 'copy.py', 31 eilutė, shutil.copyfile(šaltinis, paskirties vieta) Failas ' /usr/lib/python3.6/shutil.py', 104 eilutė, copyfile pakelti SameFileError('{!r} ir {!r} yra tas pats failas'.format(src, dst)) shutil. SameFileError: '/home/User/Documents/file.txt' ir '/home/User/Documents/file.txt' yra tas pats failas Paskirties kelias: /home/User/Documents/file(copy). txt klaidų tvarkymas Čia mes tvarkome klaidas naudojant shutil.copyfile() metodą. Python3 # Python programa paaiškinti shutil.copyfile() metodą # importuoti shutil modulį importuoti shutil # Šaltinio kelias source = '/home/User/Documents/file.txt' # Paskirties kelias paskirties vieta = '/home/User/Documents ' # Nukopijuokite # šaltinio turinį į paskirties vietą pabandykite: shutil.copyfile(šaltinis, paskirties vieta) print('Failas sėkmingai nukopijuotas.') # Jei šaltinis ir paskirties vieta yra vienodi, išskyrus shutil.SameFileError: print('Šaltinis ir paskirties vieta reiškia tą patį failą.') # Jei paskirties vieta yra katalogas. išskyrus IsADirectoryError: print('Paskirties vieta yra katalogas.') # Jei yra kokių nors leidimo problemų, išskyrus PermissionError: print('Permission denied.') # Dėl kitų klaidų, išskyrus: print('Kopijuojant failą įvyko klaida .') Išvestis: Paskirties vieta yra katalogas. Apžvelgėme failo kopijavimo Python metodą naudojant shutil.copyfile() funkciją. Tai labai paprastas naudoti metodas, kuriuo galite kopijuoti failą. Tai labai naudinga, kai norite sukurti pasikartojantį failą. Taip pat skaitykite: Kaip nukopijuoti failą Python3? shutil.copy() metodas Kopijuoti vieno failo turinį į kitą failą Kopijuoti visus failus iš vieno katalogo į kitą naudojant Python Kaip sukurti esamo failo kopiją naudojant Python?>>