Mokytis Python? Štai kaip nukopijuoti failą

Mokytis Python? Štai kaip nukopijuoti failą

Ar norite patobulinti savo „Python“ įgūdžius? Tada galite pabandyti atlikti kai kurias užduotis savo kompiuteryje naudodami „Python“. Failų kopijavimas ir įklijavimas iš vieno katalogo į kitą naudojant „Python“ yra įdomus būdas tai padaryti.





Tai ne tik smagu, bet ir leidžia greitai skaityti ir rašyti failus, nesiblaškant nuo kodo. Jei esate naujas „Python“, tai yra įgūdis, kurį vis tiek gali tekti įgyti vienaip ar kitaip. Taigi, išsiaiškinkime, kaip per šį įrašą nukopijuoti failus naudojant „Python“.





Reikalavimai kopijuojant failus naudojant „Python“

Yra daug būdų kopijuoti ir įklijuoti failus naudojant „Python“. Taigi reikalavimas tai padaryti yra skirtingas ir priklauso nuo metodo, kurį nuspręsite naudoti.





Nors failų kopijavimui su „Python“ jums gali nereikėti papildomų modulių, jei norite, vis tiek galite naudoti integruotas bibliotekas.

Pavyzdžiui, jei norite naudoti tu metodą, turite jį importuoti į savo kodą. Tačiau vienas iš populiariausių būdų kopijuoti failus naudojant „Python“ yra uždaryti biblioteka.



Pažiūrėkime, kaip galime naudoti šiuos įvairius metodus, norėdami nukopijuoti failus naudodami „Python“.

Kaip kopijuoti failus naudojant „Python“ įmontuotą „Shutil“ biblioteką

The uždaryti modulis yra integruota ir galinga „Python“ biblioteka, skirta greitai skaityti ir rašyti failus „Python“.





Norėdami jį naudoti, turite pateikti tik visą šaltinio ir paskirties failų kelią.

nėra garso iš garsiakalbių windows 10

Iš esmės, uždaryti imasi tokio formato:





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

Pavyzdžiui, naudojamas toliau pateiktas kodas shutil.copy () kopijuoti failą pavadinimu copy.txt iš aplanko pavadinimu mano_aplankas į kitą pavadintą Kelionės tikslas . Tada jis pervardija paskirties failą kaip 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)

Atminkite, kad kodą galite parašyti bet kuriame pasirinktame kodo redaktoriuje. Tada galite jį paleisti naudodami komandinę eilutę.

Tačiau taip pat galite naudoti numatytąją „Python Integrated Development Environment“ (IDLE), jei nesate susipažinę su „Python“ paleidimu per komandinę eilutę.

Susijęs: Komandinės eilutės (CMD) komandos, kurias turite žinoti

The uždaryti.kopijuoti metodas nekopijuoja šaltinio failo metaduomenų. Iš esmės jūsų aparatas mato paskirties failą visiškai nauju ir suteikia jam naujus metaduomenis.

Tačiau norėdami nukopijuoti metaduomenis kartu su originaliu failu, naudokite uždaryti.kopija2 metodas:

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

Aukščiau pateiktas metodas išsaugo pirminius senojo failo metaduomenis paskirties faile. Pavyzdžiui, paskirties failas išsaugo šaltinio failo sukūrimo datą, jo dydį ir kitus atributus.

The sekti_symlinks argumentas yra simbolinė nuorodos deklaracija, leidžianti uždaryti eiti absoliučiu keliu. Todėl turite jį įtraukti, jei šaltinio ir paskirties failai yra skirtinguose kataloguose.

Bet jei abu failai yra jūsų dabartiniame darbo kataloge, jums nereikia įtraukti a sekti_symlinks . Jei tai padarysite, „Python“ iškels sintaksės išimtį.

kaip pasidaryti „snapchat“ filtrą

Taigi, jei įklijuojate šaltinio failą į dabartinį darbo katalogą, jūsų kodas turėtų atrodyti taip:

import shutil
shutil.copy2(sourceFile, destinationFile)

Be aukščiau pateiktų uždarymo metodų, taip pat galite naudoti shutil.copyfile arba shutil.copyfileobj .

Naudojant shutil.copyfileobj yra šiek tiek kitoks, nes reikalauja integruoto atviras funkcija. Tada turite skaityti ir rašyti dvejetainius, įtraukdami „rb“ ir 'wb' argumentai.

Pažiūrėkime, kaip shutil.copyfileobj metodas veikia naudojant tuos pačius katalogus, kuriuos naudojome anksčiau:

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)

Prisimink tai shutil.copyfileobj () nereikalauja sekti_symlinks argumentas.

Tačiau, shutil.copyfile () veikia gana panašiai .kopija ir .kopija2 daro. Jie tik nežymiai skiriasi savo vidinėmis funkcijomis.

Norėdami naudoti shutil.copyfile () metodas:

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

Kaip kopijuoti failus naudojant os modulį

The tu modulis failams kopijuoti naudoja du integruotus metodus; os.system () ir os.popen () metodus.

The os.system () metodas leidžia imituoti komandinės eilutės aplinką.

Tačiau OS metodų trūkumas yra tas, kad jie kopijuoja tik jūsų dabartinio darbo katalogo failus.

Norėdami naudoti os.system () metodas sistemoje „Windows“:

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

Taip pat galite naudoti įmontuotą xcopy „Windows“ terminalo komanda:

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

Norėdami naudoti os.sistema metodą „Linux“, pakeiskite kopija su cp :

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

Kaip kopijuoti failus naudojant os.popen metodą

Norėdami naudoti šį metodą, pakeiskite os.system () su os.popen () .

„Windows“ sistemoje naudokite:

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

Kaip mes padarėme su os.system () , pakeisti kopija su cp Norėdami naudoti šį metodą „Linux“:

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

Kaip nukopijuoti failus naudojant „Python“ papildomo proceso modulį

Be aukščiau išvardytų metodų, galite naudoti papildomas procesas () biblioteka, skirta kopijuoti failus „Python“:

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

Tačiau „Linux“ naudokite:

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

The papildomas procesas biblioteka taip pat naudoja subprocess.check_out () metodas. Jis veikia taip pat subprocess.call () daro:

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

„Linux“ pakeiskite kopija su cp :

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

Tačiau, kaip ir OS metodai, papildomo proceso metodai veikia tik su jūsų dabartinio darbo katalogo failais.

Pastaba: Taip pat galite nukopijuoti failus į aplanką, jei jis yra tame pačiame darbo kataloge kaip ir šaltinio failas. Viskas, ką jums reikia padaryti, tai pakeisti paskirties failo pavadinimą paskirties aplanko pavadinimu. Tačiau įsitikinkite, kad paskirties aplankas ir šaltinio failas yra jūsų dabartiniame darbo kataloge.

Kaip nukopijuoti failus „Python“ nenaudojant bibliotekų

Taip pat galite nukopijuoti failus „Python“ nepriklausomai nuo bibliotekos. Kaip ir uždarymo metodui, jums reikia tik visų šaltinio ir paskirties katalogų kelių.

paleiskite senus žaidimus „Windows 10“

Štai kaip tai pasiekti:

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

Jei norite, kad kodas būtų pakartotinai naudojamas, galite jį pakeisti į funkciją:

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)

Viskas. Jūs ką tik sukūrėte daugkartinio naudojimo failų kopijuoklį su „Python“, nenaudodami jokios bibliotekos.

Automatizuokite užduotis naudodami „Python“

Be to, kad kurdami projektus, galite sutelkti dėmesį į savo kodą, kopijuodami failus naudodami „Python“ galite geriau suprasti failų valdymą naudodami „Python“. Tačiau žaisdami su „Python“ užduotimis galite pagerinti savo „Python“ įgūdžius, ypač jei esate pradedantysis.

Pavyzdžiui, galite pakeisti datą ir laiką savo kompiuteryje naudodami OS modulį. Jei norite, netgi galite rašyti pasirinktines „bash“ komandas naudodami „Python“.

Dalintis Dalintis „Tweet“ Paštu Kaip sukurti savo komandų eilutės programas „Python“ naudojant „Click“

Norite sukurti savo „Python“ komandinės eilutės programas, bet jums tai per sunku? Norėdami supaprastinti kodą, naudokite „Click“ - naudingą „Python“ įrankį.

Skaityti toliau
Susijusios temos
  • Programavimas
  • Python
Apie autorių Idisou Omisola(Paskelbti 94 straipsniai)

Idowu aistringai domisi visomis išmaniosiomis technologijomis ir produktyvumu. Laisvalaikiu jis žaidžia koduodamasis ir nuobodžiai persijungia į šachmatų lentą, tačiau taip pat mėgsta retkarčiais atitrūkti nuo rutinos. Jo aistra parodyti žmonėms kelią aplink šiuolaikines technologijas skatina jį daugiau rašyti.

Daugiau iš Idowu Omisola

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia