Mācīties Python? Lūk, kā kopēt failu

Mācīties Python? Lūk, kā kopēt failu

Vai vēlaties uzlabot savas Python prasmes? Pēc tam varat mēģināt veikt dažus uzdevumus datorā, izmantojot Python. Failu kopēšana un ielīmēšana no viena direktorija uz citu, izmantojot Python, ir jautrs veids, kā to izdarīt.





Tas ir ne tikai jautri, bet arī ļauj ātri lasīt un rakstīt failus, nenovirzoties no koda. Ja esat jauns Python lietotājs, tā ir prasme, kas jums, iespējams, būs jāapgūst vienā vai otrā veidā. Tātad, uzzināsim, kā kopēt failus, izmantojot Python, izmantojot šo ziņu.





Prasības failu kopēšanai, izmantojot Python

Ir daudz veidu, kā kopēt un ielīmēt failus, izmantojot Python. Tātad prasība to darīt ir atšķirīga un atkarīga no metodes, kuru jūs nolemjat izmantot.





Lai gan, iespējams, jums nav nepieciešami papildu moduļi, lai kopētu failus, izmantojot Python, jūs joprojām varat izmantot iebūvētās bibliotēkas, ja vēlaties.

Piemēram, ja vēlaties izmantot jūs metode, tā ir jāimportē savā kodā. Tomēr viens no populārākajiem veidiem, kā kopēt failus, izmantojot Python, ir aizvērt bibliotēka.



Apskatīsim, kā mēs varam izmantot šīs dažādās metodes, lai kopētu failus, izmantojot Python.

Kā kopēt failus, izmantojot Python iebūvēto Shutil bibliotēku

The aizvērt modulis ir iebūvēta un jaudīga Python bibliotēka failu ātrai lasīšanai un rakstīšanai Python.





Lai to izmantotu, jums jānorāda tikai viss avota un galamērķa failu ceļš.

nosūtīt e -pastu uz mobilo tālruni

Būtībā, aizvērt ņem šādu formātu:





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

Piemēram, tiek izmantots zemāk esošais kods shutil.copy () lai kopētu failu ar nosaukumu copy.txt no mapes ar nosaukumu mana_mape citā nosauktajā galamērķi . Pēc tam tas pārdēvē galamērķa failu kā 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)

Ņemiet vērā, ka kodu varat rakstīt jebkurā izvēlētajā koda redaktorā. Pēc tam varat to palaist, izmantojot komandrindu.

Tomēr, ja neesat pazīstams ar Python palaišanu, izmantojot komandrindu, varat izmantot arī noklusējuma integrēto attīstības vidi (IDLE).

Saistīts: Komandu uzvednes (CMD) komandas, kas jums jāzina

The shutil.kopēt metode nekopē avota faila metadatus. Būtībā jūsu ierīce galamērķa failu uzskata par jaunu un piešķir tam jaunus metadatus.

Tomēr, lai kopētu metadatus kopā ar sākotnējo failu, izmantojiet shutil.kopija2 metode:

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

Iepriekš minētā metode saglabā vecā faila sākotnējos metadatus galamērķa failā. Piemēram, galamērķa failā tiek saglabāts datums, kad izveidojāt avota failu, tā lielums un citi atribūti.

The follow_symlinks arguments ir simboliska saišu deklarācija, kas ļauj aizvērt iet absolūtu ceļu. Tāpēc tas ir jāiekļauj, ja avota un mērķa faili atrodas dažādos direktorijos.

Bet, ja abi faili atrodas jūsu pašreizējā darba direktorijā, jums nav jāiekļauj follow_symlinks . Ja to darāt, Python izvirza sintakses izņēmumu.

kā ieslēgt iPhone 8 atkopšanas režīmā

Tātad, ja ielīmējat avota failu pašreizējā darba direktorijā, jūsu kodam vajadzētu izskatīties šādi:

import shutil
shutil.copy2(sourceFile, destinationFile)

Papildus iepriekš minēto aizvēršanas metožu izmantošanai varat izmantot arī shutil.copyfile vai shutil.copyfileobj .

Izmantojot shutil.copyfileobj ir nedaudz atšķirīgs, jo tas prasa iebūvētu atvērts funkciju. Pēc tam jums ir jālasa un jāraksta bināri, iekļaujot 'rb' un 'wb' argumenti.

Apskatīsim, kā shutil.copyfileobj metode darbojas, izmantojot tos pašus direktorijus, kurus izmantojām iepriekš:

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)

Pieraksti to shutil.copyfileobj () neprasa follow_symlinks arguments.

Tomēr, shutil.copyfile () darbojas diezgan vienādi .kopija un .kopija2 dara. Viņi tikai nenozīmīgi atšķiras pēc iekšējām funkcijām.

Lai izmantotu shutil.copyfile () metode:

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

Kā kopēt failus, izmantojot os moduli

The jūs modulis izmanto divas iebūvētas failu kopēšanas metodes; os.system () un os.popen () metodes.

The os.system () metode ļauj atdarināt komandrindas vidi.

Tomēr os metožu trūkums ir tāds, ka tās kopē tikai failus jūsu pašreizējā darba direktorijā.

Lai izmantotu os.system () metode operētājsistēmā Windows:

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

Varat arī izmantot iebūvēto xcopy Windows termināļa komanda:

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

Lai izmantotu os.system metode Linux, nomainiet kopiju ar cp :

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

Kā kopēt failus, izmantojot os.popen metodi

Lai izmantotu šo metodi, nomainiet os.system () ar os.popen () .

Operētājsistēmā Windows izmantojiet:

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

Kā mēs to darījām ar os.system () , aizvietot kopiju ar cp Lai izmantotu šo metodi operētājsistēmā Linux:

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

Kā kopēt failus, izmantojot Python apakšprocesa moduli

Papildus iepriekš minētajām metodēm varat izmantot arī apakšprocess () bibliotēka failu kopēšanai Python:

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

Tomēr operētājsistēmā Linux izmantojiet:

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

The apakšprocess bibliotēka arī izmanto subprocess.check_out () metodi. Tas darbojas tāpat apakšprocess.call () dara:

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

Operētājsistēmā Linux nomainiet kopiju ar cp :

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

Tomēr, tāpat kā OS metodes, arī apakšprocesa metodes darbojas tikai ar failiem jūsu pašreizējā darba direktorijā.

Piezīme: Varat arī kopēt failus mapē, ja tā atrodas tajā pašā darba direktorijā kā avota fails. Viss, kas jums jādara, ir aizstāt galamērķa faila nosaukumu ar galamērķa mapes nosaukumu. Tomēr pārliecinieties, ka mērķa mape un avota fails atrodas pašreizējā darba direktorijā.

Kā kopēt failus Python, neizmantojot bibliotēkas

Varat arī kopēt failus Python, neatkarīgi no bibliotēkas. Tāpat kā slēgšanas metode, jums ir nepieciešami tikai visi avota un galamērķa direktoriju ceļi.

lētākais veids, kā legāli lejupielādēt mūziku

Lūk, kā to panākt:

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

Lai kodu varētu izmantot atkārtoti, varat to pārveidot par funkciju:

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)

Tieši tā. Jūs tikko izveidojāt atkārtoti lietojamu failu kopētāju ar Python, neizmantojot nevienu bibliotēku.

Turpiniet automatizēt uzdevumus, izmantojot Python

Failu kopēšana, izmantojot programmu Python, palīdz ne tikai koncentrēties uz kodu, vienlaikus veidojot projektus, bet arī ļauj labāk izprast failu pārvaldību, izmantojot Python. Tomēr spēle ar Python uzdevumiem ir veids, kā uzlabot savas Python prasmes, it īpaši, ja esat iesācējs.

Piemēram, datora datumu un laiku var mainīt, izmantojot os moduli. Ja vēlaties, pat varat rakstīt pielāgotas bash komandas, izmantojot Python.

Kopīgot Kopīgot Čivināt E -pasts Kā izveidot savas komandrindas programmas Python ar klikšķi

Vai vēlaties izveidot savas Python komandrindas programmas, bet jums tas šķiet pārāk grūti? Izmantojiet Click, kas ir noderīgs Python rīks, lai racionalizētu kodu.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Python
Par autoru Idisou Omisola(Publicēti 94 raksti)

Idowu aizraujas ar jebko gudru tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pārslēdzas uz šaha galdu, kad viņam ir garlaicīgi, taču viņam arī patīk laiku pa laikam atrauties no rutīnas. Viņa aizraušanās parādīt cilvēkiem ceļu apkārt mūsdienu tehnoloģijām motivē viņu rakstīt vairāk.

Vairāk no Idowu Omisola

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu