Учење Питхона? Ево како да копирате датотеку

Учење Питхона? Ево како да копирате датотеку

Да ли желите да побољшате своју Питхон вештину? Затим можете покушати да извршите неке задатке на свом рачунару помоћу Питхона. Копирање и лепљење датотека из једног директоријума у ​​други помоћу Питхона забаван је начин за то.





Осим што је забавно, омогућава вам брзо читање и писање датотека без ометања кода. Ако сте тек почели са Питхон -ом, то је вештина коју ћете ипак морати да покупите на овај или онај начин. Дакле, хајде да сазнамо како копирати датотеке помоћу Питхона кроз овај пост.





Захтеви за копирање датотека помоћу Питхона

Постоји много начина за копирање и лепљење датотека помоћу Питхона. Дакле, захтеви за то су различити и зависе од методе коју одлучите да користите.





Иако вам можда неће бити потребни додатни модули за копирање датотека помоћу Питхона, ипак можете користити уграђене библиотеке ако желите.

На пример, ако желите да користите ти методу, морате га увести у свој код. Међутим, један од популарних начина копирања датотека помоћу Питхона је употреба схутил библиотека.



Хајде да видимо како можемо да користимо ове различите методе за копирање датотека помоћу Питхона.

Како копирати датотеке помоћу Питхон-ове уграђене Схутил библиотеке

Тхе схутил модуле је уграђена и моћна Питхон библиотека за брзо читање и писање датотека у Питхону.





Да бисте га користили, потребно је само да наведете пуну путању изворних и одредишних датотека.

најбољи буџет у једном штампачу

У суштини, схутил узима овај формат:





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

На пример, доњи код користи схутил.цопи () да бисте копирали датотеку под именом цопи.ткт из фасцикле под називом ми_фолдер у другу по имену одредиште . Затим преименује одредишну датотеку у невФиле.ткт :

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)

Имајте на уму да свој код можете написати у било ком уређивачу кода по вашем избору. Затим га можете покренути помоћу командне линије.

Међутим, можете користити и подразумевано Питхон интегрисано развојно окружење (ИДЛЕ) ако нисте упознати са покретањем Питхона преко командне линије.

Повезан: Команде командне линије (ЦМД) које морате знати

Тхе схутил.цопи метода не копира метаподатке изворне датотеке. У суштини, ваша машина види одредишну датотеку као потпуно нову и даје јој нове метаподатке.

Међутим, да бисте копирали метаподатке заједно са оригиналном датотеком, користите схутил.цопи2 метода:

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

Горња метода чува оригиналне метаподатке старе датотеке у одредишној датотеци. На пример, одредишна датотека задржава датум када сте креирали изворну датотеку, њену величину и друге атрибуте.

Тхе фоллов_симлинкс аргумент је симболична декларација везе која дозвољава схутил идите апсолутним путем. Зато га морате укључити ако се изворне и одредишне датотеке налазе у различитим директоријумима.

Али ако се обе датотеке налазе у вашем тренутном радном директоријуму, не морате да укључите фоллов_симлинкс . Ако то учините, Питхон покреће изузетак у синтакси.

најбољи 2д платформери свих времена

Дакле, ако залепите изворну датотеку у тренутни радни директоријум, ваш код би требао изгледати овако:

import shutil
shutil.copy2(sourceFile, destinationFile)

Осим што можете користити горње методе схутил, можете користити и схутил.цопифиле или схутил.цопифилеобј .

Користећи схутил.цопифилеобј је мало другачији јер захтева уграђено отворен функција. Затим морате читати и писати бинарне датотеке додавањем 'рб' и 'вб' аргументи.

Да видимо како се схутил.цопифилеобј метода функционише користећи исте директоријуме које смо раније користили:

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)

Напоменути да схутил.цопифилеобј () не захтева фоллов_симлинкс расправа.

Међутим, схутил.цопифиле () ради на приближно исти начин .копија и .цопи2 ради. Они се само незнатно разликују по својим унутрашњим функцијама.

Да бисте користили схутил.цопифиле () метода:

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

Како копирати датотеке помоћу ос модула

Тхе ти модул користи две уграђене методе за копирање датотека; ос.систем () и ос.попен () методе.

Тхе ос.систем () метода вам омогућава да имитирате окружење командне линије.

Међутим, недостатак ос метода је то што копирају само датотеке у вашем тренутном радном директоријуму.

Да бисте користили ос.систем () метод у оперативном систему Виндовс:

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

Такође можете користити уграђени кцопи Наредба Виндовс терминала:

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

Да бисте користили ос.система метод на Линук -у, замените копија са цп :

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

Како копирати датотеке помоћу методе ос.попен

Да бисте користили ову методу, замените је ос.систем () са ос.попен () .

У оперативном систему Виндовс користите:

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

Као што смо учинили са ос.систем () , заменити копија са цп да бисте користили овај метод на Линук -у:

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

Како копирати датотеке помоћу Питхон -овог модула потпроцеса

Осим горе наведених метода, можете користити и подпроцес () библиотека за копирање датотека у Питхону:

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

Међутим, на Линук -у користите:

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

Тхе потпроцес библиотека такође користи субпроцесс.цхецк_оут () метода. Ради на исти начин субпроцесс.цалл () ради:

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

На Линук -у замените копија са цп :

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

Међутим, као и ос методе, методе потпроцеса раде само са датотекама у вашем тренутном радном директоријуму.

Белешка: Такође можете копирати датотеке у фасциклу ако се налази у истом радном директоријуму као и изворна датотека. Све што требате учинити је замијенити назив одредишне датотеке именом одредишне мапе. Међутим, уверите се да су одредишна фасцикла и изворна датотека у вашем тренутном радном директоријуму.

Како копирати датотеке у Питхону без употребе библиотека

Такође можете копирати датотеке у Питхон -у без обзира на библиотеку. Као и схутил метода, потребни су вам само пуни путеви изворног и одредишног директоријума.

како укључити хдр виндовс 10

Ево како то постићи:

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

Да бисте направили код за вишекратну употребу, можете га изменити у функцију:

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)

То је то. Управо сте направили фотокопирни уређај за вишекратну употребу са Питхоном без употребе било које библиотеке.

Наставите да аутоматизујете задатке помоћу Питхона

Осим што вам помаже да останете усредсређени на код током изградње пројеката, копирање датотека помоћу Питхон -а вам омогућава да боље разумете управљање датотекама помоћу програма Питхон. Међутим, играње са Питхон задацима је начин да побољшате своју Питхон вештину, посебно ако сте почетник.

На пример, можете да промените датум и време на рачунару помоћу ос модула. Можете чак и да напишете прилагођене команде басх са Питхоном ако желите.

Објави Објави Твеет Емаил Како да креирате сопствене програме командне линије у Питхону кликом

Желите да направите сопствене програме за командну линију Питхон, али вам је то превише тешко? Користите Цлицк, користан Питхон алат за поједностављивање кода.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Питхон
О аутору Идисоу Омисола(94 објављена чланка)

Идову је страствен у било чему паметном технологији и продуктивности. У слободно време игра се кодирањем и прелази на шаховску таблу кад му је досадно, али такође воли да се повремено одваја од рутине. Његова страст да људима покаже пут око савремене технологије мотивише га да пише више.

Више од Идову Омисола

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили