Opetellaanko Pythonia? Näin voit kopioida tiedoston

Opetellaanko Pythonia? Näin voit kopioida tiedoston

Haluatko parantaa Python -taitoasi? Sitten voit yrittää suorittaa joitakin tehtäviä tietokoneellasi Pythonilla. Tiedostojen kopioiminen ja liittäminen hakemistosta toiseen Pythonilla on hauska tapa tehdä tämä.





Sen lisäksi, että se on hauskaa, sen avulla voit lukea ja kirjoittaa tiedostoja nopeasti häiritsemättä koodiasi. Jos olet uusi Pythonissa, se on taito, jonka saatat joutua hankkimaan tavalla tai toisella. Joten, selvitetään, kuinka kopioida tiedostoja Pythonilla tämän viestin kautta.





Tiedostojen kopioinnin vaatimukset Pythonilla

Pythonilla on monia tapoja kopioida ja liittää tiedostoja. Joten vaatimus tehdä se vaihtelee ja riippuu käyttämästäsi menetelmästä.





Vaikka et ehkä tarvitse lisämoduuleja tiedostojen kopioimiseen Pythonilla, voit silti käyttää sisäänrakennettuja kirjastoja, jos haluat.

Jos esimerkiksi haluat käyttää sinä menetelmä, sinun on tuotava se koodiin. Kuitenkin yksi suosituimmista tavoista kopioida tiedostoja Pythonilla on sulje kirjasto.



Katsotaanpa, kuinka voimme käyttää näitä erilaisia ​​menetelmiä tiedostojen kopioimiseen Pythonilla.

Tiedostojen kopioiminen Pythonin sisäänrakennetun Shutil-kirjaston avulla

The sulje moduuli on sisäänrakennettu ja tehokas Python-kirjasto tiedostojen nopeaan lukemiseen ja kirjoittamiseen Pythonissa.





Jotta voit käyttää sitä, sinun on toimitettava vain lähde- ja kohdetiedostojen koko polku.

lg puhelin ei saa yhteyttä tietokoneeseen

Pohjimmiltaan sulje ottaa tämän muodon:





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

Esimerkiksi alla oleva koodi käyttää shutil.copy () tiedoston kopioimiseksi copy.txt nimisestä kansiosta minun_kansio toiseen nimettyyn määränpää . Sitten se nimeää kohdetiedoston uudelleen nimellä 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)

Huomaa, että voit kirjoittaa koodisi mihin tahansa valitsemasi koodieditoriin. Voit sitten suorittaa sen komentorivin avulla.

Voit kuitenkin käyttää myös oletusarvoista Python Integrated Development Environment -ympäristöä (IDLE), jos et tunne Pythonin käyttämistä komentorivin kautta.

Aiheeseen liittyviä: Komentorivi (CMD) -komennot, jotka sinun on tiedettävä

The shutil. kopio menetelmä ei kopioi lähdetiedoston metatietoja. Pohjimmiltaan koneesi näkee kohdetiedoston kokonaan uutena ja antaa sille uudet metatiedot.

Voit kuitenkin kopioida metatiedot alkuperäisen tiedoston kanssa käyttämällä suljin. kopio 2 menetelmä:

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

Yllä oleva menetelmä säilyttää vanhan tiedoston alkuperäiset metatiedot kohdetiedostossa. Esimerkiksi kohdetiedosto säilyttää lähdetiedoston luomisen päivämäärän, sen koon ja muut määritteet.

The follow_symlinks argumentti on symbolinen linkki -ilmoitus, jonka avulla sulje noudattaa ehdotonta tietä. Siksi sinun on sisällytettävä se, jos lähde- ja kohdetiedostot ovat eri hakemistoissa.

Mutta jos molemmat tiedostot ovat nykyisessä työhakemistossasi, sinun ei tarvitse sisällyttää follow_symlinks . Jos teet niin, Python nostaa syntaksipoikkeuksen.

kuinka lähettää tekstiviestejä tietokoneesta matkapuhelimeen ilmaiseksi

Joten jos liität lähdetiedoston nykyiseen työhakemistoosi, koodisi pitäisi näyttää tältä:

import shutil
shutil.copy2(sourceFile, destinationFile)

Yllä olevien suljinmenetelmien käytön lisäksi voit käyttää myös shutil.copyfile tai shutil.copyfileobj .

Käyttämällä shutil.copyfileobj on hieman erilainen, koska se vaatii sisäänrakennettua avata toiminto. Sitten sinun on luettava ja kirjoitettava binaari sisällyttämällä 'rb' ja 'wb' argumentteja.

Katsotaanpa kuinka shutil.copyfileobj menetelmä toimii samoilla hakemistoilla kuin aiemmin:

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)

Ota huomioon, että shutil.copyfileobj () ei vaadi follow_symlinks Perustelu.

Kuitenkin, shutil.copyfile () toimii aika samalla tavalla .kopio ja .kopio 2 tekee. Ne eroavat toisistaan ​​vain vähäisesti sisäisissä toiminnoissaan.

Voit käyttää shutil.copyfile () menetelmä:

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

Tiedostojen kopioiminen os -moduulin avulla

The sinä moduuli käyttää kahta sisäänrakennettua tapaa kopioida tiedostoja; os.system () ja os.popen () menetelmiä.

The os.system () -menetelmän avulla voit jäljitellä komentoriviympäristöä.

Os -menetelmien puute on kuitenkin se, että ne kopioivat vain nykyisen työhakemistosi tiedostoja.

Voit käyttää os.system () menetelmä Windowsissa:

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

Voit myös käyttää sisäänrakennettua xcopy Windows -päätelaitteen komento:

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

Voit käyttää os.system menetelmä Linuxissa, korvaa kopio kanssa cp :

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

Tiedostojen kopioiminen os.popen -menetelmällä

Jos haluat käyttää tätä menetelmää, vaihda os.system () kanssa os.popen () .

Käytä Windowsissa:

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

Kuten teimme os.system () , vaihda kopio kanssa cp käyttää tätä menetelmää Linuxissa:

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

Tiedostojen kopioiminen Pythonin aliprosessimoduulilla

Edellä mainittujen menetelmien lisäksi voit käyttää myös aliprosessi () kirjasto tiedostojen kopioimiseksi Pythonissa:

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

Käytä kuitenkin Linuxissa:

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

The aliprosessi kirjasto käyttää myös subprocess.check_out () menetelmä. Se toimii samalla tavalla subprocess.call () tekee:

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

Vaihda Linuxissa kopio kanssa cp :

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

Kuitenkin os -menetelmien tavoin aliprosessimenetelmät toimivat vain nykyisen työhakemistosi tiedostojen kanssa.

Huomautus: Voit myös kopioida tiedostoja kansioon, jos se on samassa työhakemistossa kuin lähdetiedosto. Sinun tarvitsee vain korvata kohdetiedoston nimi kohdekansion nimellä. Varmista kuitenkin, että kohdekansio ja lähdetiedosto ovat nykyisessä työhakemistossasi.

Tiedostojen kopioiminen Pythonissa ilman kirjastoja

Voit myös kopioida tiedostoja Pythonissa riippumatta kirjastosta. Suljintamenetelmän tavoin tarvitset vain lähde- ja kohdehakemistojen kaikki polut.

kuinka rajata video iPhonessa

Voit saavuttaa tämän seuraavasti:

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())

Jotta koodi voidaan käyttää uudelleen, voit muokata sen funktioksi:

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)

Se siitä. Teit juuri uudelleenkäytettävän tiedostojen kopiokoneen Pythonilla ilman kirjastoa.

Jatka tehtävien automatisointia Pythonilla

Sen lisäksi, että voit auttaa sinua keskittymään koodiin projektien rakentamisen aikana, tiedostojen kopioiminen Pythonilla auttaa sinua ymmärtämään paremmin tiedostonhallintaa Pythonilla. Python -tehtävien pelaaminen on kuitenkin tapa parantaa Python -taitoasi, varsinkin jos olet aloittelija.

Voit esimerkiksi muuttaa tietokoneen päivämäärän ja kellonajan os -moduulin avulla. Voit jopa kirjoittaa mukautettuja bash -komentoja Pythonilla, jos haluat.

Jaa Jaa Tweet Sähköposti Kuinka luoda omia komentoriviohjelmia Pythonissa napsautuksella

Haluatko tehdä omia Python -komentoriviohjelmia, mutta se tuntuu liian vaikealta? Käytä Clickia, joka on hyödyllinen Python -työkalu virtaviivaistaaksesi koodiasi.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Python
Kirjailijasta Idisou Omisola(94 artikkelia julkaistu)

Idowu on intohimoinen kaikkeen älykkääseen tekniikkaan ja tuottavuuteen. Vapaa -ajallaan hän leikkii koodauksella ja vaihtaa shakkilaudalle, kun on kyllästynyt, mutta hän myös rakastaa irtautumista rutiinista silloin tällöin. Hänen intohimonsa näyttää ihmisille tie modernin tekniikan ympärillä motivoi häntä kirjoittamaan enemmän.

Lisää Idowu Omisolasta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi