Učíš sa Python? Tu je postup, ako skopírovať súbor

Učíš sa Python? Tu je postup, ako skopírovať súbor

Chcete zlepšiť svoje znalosti jazyka Python? Potom sa môžete pokúsiť vykonať niektoré úlohy na svojom počítači pomocou Pythonu. Kopírovanie a vkladanie súborov z jedného adresára do druhého pomocou Pythonu je zábavný spôsob, ako to urobiť.





Okrem toho, že je zábavný, umožňuje vám rýchlo čítať a písať súbory bez toho, aby ste sa museli rozptyľovať od kódu. Ak ste v Pythone nováčik, je to zručnosť, ktorú budete možno potrebovať tak alebo onak. Poďme teda zistiť, ako kopírovať súbory pomocou Pythonu prostredníctvom tohto príspevku.





Požiadavky na kopírovanie súborov pomocou Pythonu

Existuje mnoho spôsobov, ako kopírovať a vkladať súbory v Pythone. Požiadavky na to sa teda líšia a závisia od metódy, ktorú sa rozhodnete použiť.



Aj keď na kopírovanie súborov pomocou Pythonu možno nebudete potrebovať ďalšie moduly, v prípade potreby môžete stále používať vstavané knižnice.

Napríklad, ak chcete použiť ty musíte ho importovať do kódu. Jeden z populárnych spôsobov kopírovania súborov v Pythone však používa shutil knižnica.



Pozrime sa, ako môžeme použiť tieto rôzne metódy na kopírovanie súborov v Pythone.

Ako kopírovať súbory pomocou vstavanej knižnice Shutil v Pythone

The shutil modul je vstavaná a výkonná knižnica Python na rýchle čítanie a zápis súborov v Pythone.





Na jeho použitie stačí zadať úplnú cestu zdrojového a cieľového súboru.

Ovládač xbox one sa vôbec nezapne

V podstate, shutil má tento formát:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Používa napríklad nasledujúci kód shutil.copy () skopírujte súbor s názvom copy.txt z priečinka s názvom my_folder do iného pomenovaného destinácia . Potom premenuje cieľový súbor na newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

Všimnite si toho, že svoj kód môžete napísať v ľubovoľnom editore kódu podľa vášho výberu. Potom ho môžete spustiť pomocou príkazového riadka.

Môžete však použiť aj predvolené IDLE (Python Integrated Development Environment), ak nie ste oboznámení s používaním Pythonu cez príkazový riadok.

Súvisiace: Príkazy príkazového riadka (CMD), ktoré musíte vedieť

The shutil.copy metóda nekopíruje metadáta zdrojového súboru. V zásade váš počítač vidí cieľový súbor ako úplne nový a poskytne mu nové metadáta.

Na kopírovanie metadát spolu s pôvodným súborom však použite súbor shutil.copy2 metóda:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

Vyššie uvedená metóda zachováva pôvodné metadáta starého súboru v cieľovom súbore. Cieľový súbor si napríklad zachová dátum vytvorenia zdrojového súboru, jeho veľkosť a ďalšie atribúty.

The follow_symlinks argument je symbolické vyhlásenie o prepojení, ktoré umožňuje shutil nasledujte absolútnu cestu. Preto ho musíte zahrnúť, ak sú zdrojové a cieľové súbory v rôznych adresároch.

Ak sú však oba súbory vo vašom aktuálnom pracovnom adresári, nemusíte uvádzať príponu follow_symlinks . Ak tak urobíte, Python vyvolá výnimku zo syntaxe.

ako si vybrať predvolený účet Google

Ak teda vkladáte zdrojový súbor do aktuálneho pracovného adresára, váš kód by mal vyzerať takto:

import shutil
shutil.copy2(sourceFile, destinationFile)

Okrem použitia vyššie uvedených metód shutil môžete tiež použiť shutil.copyfile alebo shutil.copyfileobj .

Použitím shutil.copyfileobj je trochu odlišný, pretože vyžaduje vstavaný modul otvorené funkciu. Potom musíte čítať a písať binárne vrátane súboru 'rb' a 'wb' argumenty.

Pozrime sa, ako shutil.copyfileobj metóda funguje s použitím rovnakých adresárov, aké sme použili predtým:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

Poznač si to shutil.copyfileobj () nevyžaduje follow_symlinks argument.

Avšak, shutil.copyfile () funguje celkom rovnako .kopia a .kopia2 robí. Vo svojich vnútorných funkciách sa len nepatrne líšia.

Ak chcete použiť shutil.copyfile () metóda:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

Ako kopírovať súbory pomocou modulu os

The ty modul používa dve vstavané metódy na kopírovanie súborov; os.system () a os.popen () metódy.

The os.system () metóda umožňuje napodobniť prostredie príkazového riadka.

Nedostatkom metód os je však to, že kopírujú iba súbory vo vašom aktuálnom pracovnom adresári.

Ak chcete použiť os.system () metóda v systéme Windows:

import os
os.system('copy source.txt destination.txt)

Môžete tiež použiť vstavaný xcopy Príkaz terminálu systému Windows:

import os
os.system('xcopy source.txt destination.txt)

Ak chcete použiť os.systému metóda v systéme Linux, nahraďte kopírovať s cp :

import os
os.system('cp source.txt destination.txt)

Ako kopírovať súbory pomocou metódy os.popen

Ak chcete použiť túto metódu, vymeňte ju os.system () s os.popen () .

V systéme Windows použite:

import os
os.popen('copy source.txt destination.txt)

Ako sme to urobili s os.system () , vymeňte kopírovať s cp použiť túto metódu v systéme Linux:

import os
os.popen('cp source.txt destination.txt)

Ako kopírovať súbory pomocou modulu podprocesu Pythonu

Okrem vyššie uvedených spôsobov môžete použiť aj súbor podproces () knižnica na kopírovanie súborov v Pythone:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

V systéme Linux však použite:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

The podproces knižnica tiež používa subprocess.check_out () metóda. Funguje to rovnako subprocess.call () robí:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

V systéme Linux vymeňte kopírovať s cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

Rovnako ako metódy os, metódy podprocesu fungujú iba so súbormi vo vašom aktuálnom pracovnom adresári.

Poznámka: Súbory môžete kopírovať aj do priečinka, ak je v rovnakom pracovnom adresári ako zdrojový súbor. Všetko, čo musíte urobiť, je nahradiť cieľový názov súboru názvom cieľového priečinka. Uistite sa však, že cieľový priečinok a zdrojový súbor sú vo vašom aktuálnom pracovnom adresári.

Ako kopírovať súbory v Pythone bez použitia knižníc

Súbory môžete kopírovať aj v Pythone bez závislosti na akejkoľvek knižnici. Rovnako ako metóda shutil potrebujete iba úplné cesty zdrojového a cieľového adresára.

stiahnuť webový prehliadač philips smart tv

Tu je postup, ako to dosiahnuť:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Aby bol kód opakovane použiteľný, môžete ho zmeniť na funkciu:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

To je všetko. Práve ste vytvorili opakovane použiteľnú kopírku súborov v Pythone bez použitia akejkoľvek knižnice.

Pokračujte v automatizácii úloh pomocou Pythonu

Okrem toho, že vám kopírovanie súborov pomocou Pythonu pomôže sústrediť sa na váš kód pri vytváraní projektov, umožní vám lepšie porozumieť správe súborov v jazyku Python. Hranie sa s úlohami v jazyku Python je však spôsob, ako zlepšiť svoje znalosti jazyka Python, najmä ak ste začiatočník.

Pomocou modulu os môžete napríklad zmeniť dátum a čas na počítači. Ak chcete, v Pythone môžete dokonca písať vlastné príkazy bash.

zdieľam zdieľam Tweet E -mail Ako si vytvoríte vlastné programy príkazového riadka v Pythone kliknutím

Chcete si vytvoriť vlastné programy pre príkazový riadok v jazyku Python, ale zdá sa vám to príliš náročné? Na zefektívnenie kódu použite Click, užitočný nástroj Pythonu.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Python
O autorovi Idisou Omisola(94 publikovaných článkov)

Idowu je zanietený pre čokoľvek, čo sa týka inteligentných technológií a produktivity. Vo svojom voľnom čase sa hrá s kódovaním a keď sa nudí, prejde na šachovnicu, ale tiež rád, keď sa raz za čas odtrhne od rutiny. Jeho vášeň ukazovať ľuďom cestu okolo moderných technológií ho motivuje písať viac.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber