Modul Shutil v Pythone pomáha automatizovať proces kopírovanie a odstraňovanie súborov a adresárov. Je súčasťou štandardných modulov Pythonu.
Shutil (skratka pre shell utility) modul tiež poskytuje mnoho funkcií na vysokej úrovni operácií so súbormi a kolekciami súborov.
Čo je metóda Shutil.copyfile()?
The Shutil.copyfile() metóda v Python sa používa na skopírovanie obsahu zdrojového súboru do cieľového súboru. Metadáta súboru sa neskopírujú. Zdroj a cieľ musia predstavovať súbor a cieľ musí byť zapisovateľný. Ak cieľ už existuje, bude nahradený zdrojovým súborom, inak sa vytvorí nový súbor.
Ak zdroj a cieľ predstavujú rovnaký súbor, potom Výnimka SameFileError bude zvýšený.
Shutil.copyfile() Syntax metódy
Shutil.copyfile(zdroj, cieľ, *, follow_symlinks = True)
Parametre:
- zdroj : Reťazec predstavujúci cestu k zdrojovému súboru.
- destinácia : Reťazec predstavujúci cestu k cieľovému súboru.
- follow_symlinks (voliteľné) : Predvolená hodnota tohto parametra je True. Ak False a source predstavuje symbolický odkaz, potom sa namiesto kopírovania súboru vytvorí nový symbolický odkaz.
Poznámka: Znak „*“ v zozname parametrov znamená, že všetky nasledujúce parametre (v našom prípade „follow_symlinks“) sú parametre len pre kľúčové slová a môžu byť poskytnuté pomocou ich názvu, nie ako pozičné parametre.
Vrátenie:
Táto metóda vráti reťazec, ktorý predstavuje cestu k novovytvorenému súboru.
Ako skopírovať súbor pomocou metódy Shutil.copyfile() v Pythone
Pomocou metódy shutil.copyfile() môžete jednoducho skopírovať súbor do nového súboru. Ak chcete použiť túto metódu, stačí spomenúť umiestnenie zdrojového súboru a umiestnenie cieľového súboru.
Poďme to lepšie pochopiť na príklade:
c náhodné číslo
Použitie metódy Shutil.copyfile() na kopírovanie súboru zo zdroja do cieľa
Tu v tomto príklade uvidíme použitie Shutil.copyfile() na skopírovanie súboru zo zdroja do cieľa pomocou Pythonu.
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)> |
>
>
Výkon:
Before copying file: ['hrithik.webp'ltr'>Tu vidíme, že pri používaní metódy shutil.copyfile() sa vyskytujú možné chyby. Ak zdroj a cieľ predstavujú rovnaký súbor, vyvolá sa výnimka 'SameFileError' Ak je cieľom adresár, potom sa vyvolá výnimka 'IsADirectoryError' Ak cieľ nie je zapisovateľný, vyvolá sa výnimka 'PermissionError' Python3 # Program Python na vysvetlenie shutil Metóda .copyfile() # importovanie modulu Shutil import Shuttle # Zdrojová cesta source = '/home/User/Documents/file.txt' # Cieľová cesta cieľ = '/home/User/Documents/file.txt' # Skopírujte obsah # zdroja do cieľa Shutil.copyfile(zdroj, cieľ) Výstup: Spätné sledovanie (posledný posledný hovor): Súbor 'copy.py', riadok 31, v súbore Shutil.copy(zdroj, cieľ) Súbor ' /usr/lib/python3.6/shutil.py', riadok 104, v copyfile vyvolať SameFileError('{!r} a {!r} sú rovnaký súbor'.format(src, dst)) Shutil. SameFileError: '/home/User/Documents/file.txt' a '/home/User/Documents/file.txt' sú rovnaký súbor Cieľová cesta: /home/User/Documents/file(copy). txt Spracovanie chýb Tu sa zaoberáme riešením chýb pri používaní metódy Shutil.copyfile(). Python3 # Python program na vysvetlenie metódy shutil.copyfile() # importovanie modulu Shutil importovanie Shutil # Zdrojová cesta source = '/home/User/Documents/file.txt' # Cieľová cesta cieľ = '/home/User/Documents ' # Skopírujte obsah # zdroja do cieľa skúste: shutil.copyfile(zdroj, cieľ) print('Súbor úspešne skopírovaný.') # Ak sú zdroj a cieľ rovnaké okrem Shutil.SameFileError: print('Zdroj a cieľ predstavuje rovnaký súbor.') # Ak je cieľom adresár. okrem IsADirectoryError: print('Cieľ je adresár.') # Ak sa vyskytol nejaký problém s povolením okrem PermissionError: print('Povolenie odmietnuté.') # Pre iné chyby okrem: print('Pri kopírovaní súboru sa vyskytla chyba .') Výstup: Cieľ je adresár. Pokryli sme metódu kopírovania súboru v Pythone pomocou funkcie Shutil.copyfile(). Je to veľmi ľahko použiteľná metóda, ktorú môžete použiť na kopírovanie súboru. Je to veľmi užitočné, keď chcete vytvoriť duplicitný súbor. Prečítajte si tiež: Ako kopírovať súbor v Pythone3? Metóda shutil.copy() Kopírovať obsah jedného súboru do iného súboru Kopírovať všetky súbory z jedného adresára do druhého pomocou Pythonu Ako vytvoriť duplicitný súbor existujúceho súboru pomocou Pythonu?>