Pythoni õppimine? Siin on, kuidas faili kopeerida

Pythoni õppimine? Siin on, kuidas faili kopeerida

Kas soovite oma Pythoni oskusi parandada? Seejärel võite proovida Pythoniga oma arvutis mõningaid ülesandeid täita. Failide kopeerimine ja kleepimine ühest kataloogist teise Pythoni abil on lõbus viis seda teha.





Lisaks lõbususele võimaldab see teil ka kiiresti faile lugeda ja kirjutada, ilma et peaksite oma koodist häirima. Kui olete Pythonis uus, on see oskus, mida peate võib -olla ühel või teisel viisil omandama. Niisiis, uurime, kuidas selle postituse kaudu faile Pythoni abil kopeerida.





Nõuded failide kopeerimiseks Pythoni abil

Failide kopeerimiseks ja kleepimiseks Pythoni abil on palju võimalusi. Seega on selle tegemise nõue erinev ja sõltub meetodist, mida otsustate kasutada.





Ehkki te ei vaja Pythoni abil failide kopeerimiseks lisamooduleid, saate soovi korral siiski kasutada sisseehitatud teeke.

Näiteks kui soovite kasutada sina meetod, peate selle oma koodi importima. Üks populaarsemaid viise failide kopeerimiseks Pythoni abil on aga kinni raamatukogu.



Vaatame, kuidas saame neid erinevaid meetodeid kasutada failide kopeerimiseks Pythoni abil.

Kuidas kopeerida faile Pythoni sisseehitatud Shutili raamatukogu abil

The kinni moodul on sisseehitatud ja võimas Pythoni raamatukogu failide kiireks lugemiseks ja kirjutamiseks Pythonis.





Selle kasutamiseks peate esitama ainult lähte- ja sihtfailide täieliku tee.

kuidas muuta rakenduse ikooni Windows 10

Sisuliselt, kinni võtab selle vormi:





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

Näiteks kasutab allolev kood shutil.copy () nimega faili kopeerimiseks copy.txt kaustast nimega minu_kaust teise nimega sihtkoht . Seejärel nimetab see sihtfaili ümber 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)

Pange tähele, et saate oma koodi kirjutada mis tahes valitud koodiredaktorisse. Seejärel saate selle käsurealt käivitada.

Siiski võite kasutada ka vaikimisi Pythoni integreeritud arenduskeskkonda (IDLE), kui te pole tuttav Pythoni käitamisega käsurealt.

Seotud: Käsuviip (CMD) käsud, mida peate teadma

The shutil.koopia meetod ei kopeeri lähtefaili metaandmeid. Sisuliselt näeb teie masin sihtfaili täielikult uue failina ja annab sellele uued metaandmed.

Kuid metaandmete kopeerimiseks koos algfailiga kasutage shutil.copy2 meetod:

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

Ülaltoodud meetod säilitab vana faili algsed metaandmed sihtfailis. Näiteks säilitab sihtfail lähtefaili loomise kuupäeva, selle suuruse ja muud atribuudid.

The follow_symlinks argument on sümboolne lingi deklaratsioon, mis võimaldab kinni minna absoluutset rada. Seetõttu peate selle lisama, kui lähte- ja sihtfailid asuvad erinevates kataloogides.

Kuid kui mõlemad failid on teie praeguses töökataloogis, ei pea te a follow_symlinks . Kui te seda teete, tekitab Python süntaksi erandi.

kuidas Windows 10 -s reaalajas taustapilti saada

Seega, kui kleebite lähtefaili oma praegusesse töökataloogi, peaks teie kood välja nägema selline:

import shutil
shutil.copy2(sourceFile, destinationFile)

Lisaks ülaltoodud sulgemismeetodite kasutamisele saate kasutada ka shutil.copyfile või shutil.copyfileobj .

Kasutades shutil.copyfileobj on natuke erinev, kuna see nõuab sisseehitatud seadet lahti funktsiooni. Seejärel peate binaarset lugema ja kirjutama, lisades 'rb' ja 'wb' argumente.

Vaatame, kuidas shutil.copyfileobj meetod töötab samade kataloogide abil, mida kasutasime varem:

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)

Pange tähele, et shutil.copyfileobj () ei nõua follow_symlinks vaidlus.

Kuid, shutil.copyfile () töötab üsna samamoodi .koopia ja .koopia2 teeb. Nad erinevad sisemiste ülesannete poolest vaid ebaoluliselt.

Et kasutada shutil.copyfile () meetod:

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

Kuidas kopeerida faile os -mooduliga

The sina moodul kasutab failide kopeerimiseks kahte sisseehitatud meetodit; os.system () ja os.popen () meetodeid.

The os.system () meetod võimaldab imiteerida käsurea keskkonda.

Osmeetodite puuduseks on aga see, et need kopeerivad ainult teie praeguses töökataloogis olevaid faile.

Et kasutada os.system () meetod Windowsis:

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

Võite kasutada ka sisseehitatud seadet xcopy Windowsi terminali käsk:

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

Et kasutada os.süsteem meetod Linuxis, asendage koopia koos cp :

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

Kuidas kopeerida faile os.popen meetodil

Selle meetodi kasutamiseks asendage os.system () koos os.popen () .

Windowsis kasutage järgmist.

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

Nagu me tegime os.system () , asendada koopia koos cp Selle meetodi kasutamiseks Linuxis:

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

Kuidas kopeerida faile Pythoni alamprotsessi mooduliga

Lisaks ülaltoodud meetoditele saate kasutada ka alamprotsess () raamatukogu Pythonis failide kopeerimiseks:

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

Kuid Linuxis kasutage järgmist:

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

The alamprotsess kasutab ka raamatukogu subprocess.check_out () meetod. See toimib samamoodi alamprotsess.call () teeb:

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

Linuxis asendage koopia koos cp :

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

Kuid nagu os -meetodid, töötavad ka alamprotsessimeetodid ainult teie praeguse töökataloogi failidega.

Märge: Samuti saate kopeerida faile kausta, kui see asub lähtefailiga samas töökataloogis. Kõik, mida pead tegema, on asendada sihtfaili nimi sihtkausta nimega. Veenduge siiski, et sihtkaust ja lähtefail on teie praeguses töökataloogis.

Kuidas kopeerida faile Pythonis ilma raamatukogusid kasutamata

Faile saate kopeerida ka Pythonis, sõltumata teegist. Nagu sulgemismeetod, vajate ainult allika- ja sihtkataloogide täielikku teed.

kuidas kustutatud Facebooki sõnumeid üles tõmmata

Selle saavutamiseks tehke järgmist.

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

Koodi korduvkasutamiseks saate selle muuta funktsiooniks:

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)

See on kõik. Tegite just Pythoniga korduvkasutatava failikoopiamasina ilma kogu kasutamata.

Jätkake ülesannete automatiseerimist Pythoniga

Lisaks sellele, et saate projektide koostamisel oma koodile keskenduda, võimaldab failide kopeerimine Pythoni abil paremini mõista failihaldust Pythoni abil. Pythoni ülesannetega mängimine on aga viis Pythoni oskuste parandamiseks, eriti kui olete algaja.

Näiteks saate OS -mooduliga muuta oma arvutis kuupäeva ja kellaaega. Soovi korral saate Pythoniga isegi kohandatud bash -käske kirjutada.

Jaga Jaga Piiksuma E -post Kuidas luua klõpsuga Pythonis oma käsurea programme

Kas soovite luua oma Pythoni käsurea programme, kuid leiate, et see on liiga raske? Kasutage oma koodi sujuvamaks muutmiseks kasulikku Pythoni tööriista Click.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Python
Autori kohta Idisou Omisola(Avaldatud 94 artiklit)

Idowu on kirglik kõige nutika tehnoloogia ja tootlikkuse vastu. Vabal ajal mängib ta kodeerimisega ja lülitab malelauale, kui tal on igav, kuid talle meeldib ka aeg -ajalt rutiinist lahti saada. Tema kirg näidata inimestele teed kaasaegses tehnoloogias motiveerib teda rohkem kirjutama.

Veel Idowu Omisolast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin