Да ли желите да побољшате своју Питхон вештину? Тада можете покушати да извршите неке задатке на рачунару помоћу Питхона. Копирање и лепљење датотека из једног директоријума у други помоћу Питхона је забаван начин за то.
Поред тога што је забаван, омогућава вам брзо читање и писање датотека без одвлачења пажње са вашег кода. Ако сте нови у Питхону, то је вештина која ће вам можда и даље требати да је преузмете на овај или онај начин. Дакле, хајде да сазнамо како преко овог поста копирати датотеке помоћу Питхона.
Захтеви за копирање датотека помоћу Питхона
Постоји много начина за копирање и лепљење датотека помоћу Питхона. Дакле, захтев за то варира и зависи од методе коју сте одлучили да користите.
Иако вам можда неће требати додатни модули за копирање датотека помоћу Питхона, и даље можете користити уграђене библиотеке ако желите.
На пример, ако желите да користите ос методу, морате га увести у свој код. Међутим, један од популарних начина копирања датотека помоћу Питхона је коришћење схутил библиотека.
Погледајмо како можемо да користимо ове различите методе за копирање датотека помоћу Питхона.
Како копирати датотеке помоћу Питхонове уграђене Схутил библиотеке
Тхе схутил модуле је уграђена и моћна Питхон библиотека за брзо читање и писање датотека у Питхону.
Да бисте га користили, потребно је да наведете само пуни пут изворне и одредишне датотеке.
У суштини, схутил узима овај формат:
схутил.цопи ([путања изворног директоријума], [путања одредишног директоријума], фоллов_симлинкс = Тачно)
На пример, код у наставку користи схутил.цопи () за копирање датотеке са именом цопи.ткт из фасцикле зване ми_фолдер у другу која се зове одредиште. Затим одредишну датотеку преименује у невФиле.ткт:
импорт схутил
соурцеФиле = "Ц: /Усерс/соме_дирецториес/ми_фолдер/цопи.ткт"
дестинатионФиле = "Ц: /Усерс/соме_дирецториес/дестинатион/невФиле.ткт"
схутил.цопи (соурцеФиле, дестинатионФиле, фоллов_симлинкс = Труе)
Имајте на уму да свој код можете да напишете на било који уређивач кода по вашем избору. Затим га можете покренути помоћу командне линије.
Међутим, можете користити и подразумевано интегрисано развојно окружење Питхон (ИДЛЕ) ако нисте упознати са покретањем Питхона преко командне линије.
Повезан: Командна линија (ЦМД) Команде које морате знати
Тхе схутил.цопи метода не копира метаподатке изворне датотеке. У суштини, ваша машина одредишну датотеку у потпуности види као нову и даје јој нове метаподатке.
Међутим, да бисте копирали метаподатке заједно са оригиналном датотеком, користите схутил.цопи2 метода:
импорт схутил
схутил.цопи2 (соурцеФиле, дестинатионФиле, фоллов_симлинкс = Труе)
Горња метода чува оригиналне метаподатке старе датотеке у одредишној датотеци. На пример, одредишна датотека задржава датум када сте креирали изворну датотеку, њену величину и друге атрибуте.
Тхе фоллов_симлинкс аргумент је симболична декларација везе која омогућава схутил следите апсолутни пут. Због тога га морате укључити ако су изворне и одредишне датотеке у различитим директоријумима.
Али ако су обе датотеке у вашем тренутном радном директоријуму, не морате да укључите фоллов_симлинкс. Ако то учините, Питхон покреће изузетак из синтаксе.
Дакле, ако лепите изворну датотеку у свој тренутни радни директоријум, ваш код би требао изгледати овако:
импорт схутил
схутил.цопи2 (соурцеФиле, дестинатионФиле)
Поред коришћења схутил метода горе, можете и да користите схутил.цопифиле или схутил.цопифилеобј.
Користећи схутил.цопифилеобј је мало другачија јер захтева уграђену отворен функцију. Затим, морате читати и писати бинарне датотеке тако што ћете укључити "рб" и "вб" аргументи.
Да видимо како схутил.цопифилеобј метода ради користећи исте директоријуме које смо раније користили:
импорт схутил
соурцеФилеПатх = опен ("Ц: /Усерс/соме_дирецториес/ми_фолдер/цопи.ткт", "рб")
дестинатионФилеПатх = отворен ("Ц: /Корисници/неки_директорији/дестинација/невФиле.ткт", "вб")
схутил.цопифилеобј (соурцеФилеПатх, дестинатионФилеПатх)
Напоменути да схутил.цопифилеобј () не захтева фоллов_симлинкс расправа.
Међутим, схутил.цопифиле () ради прилично на исти начин .копија и .цопи2 ради. Они се само небитно разликују по својим унутрашњим функцијама.
Да бисте користили схутил.цопифиле () метода:
импорт схутил
соурцеФилеПатх = "Ц: /Усерс/соме_дирецториес/ми_фолдер/цопи.ткт"
дестинатионФилеПатх = "Ц: /Корисници/неки_директорији/дестинација/невФиле.ткт"
схутил.цопифиле (соурцеФилеПатх, дестинатионФилеПатх)
Како копирати датотеке помоћу ос модула
Тхе ос модул користи две уграђене методе за копирање датотека; ос.систем () и ос.попен () методе.
Тхе ос.систем () метода вам омогућава да опонашате окружење командне линије.
Међутим, недостатак метода ОС је у томе што они копирају само датотеке у вашем тренутном радном директоријуму.
Да бисте користили ос.систем () метода на Виндовс-у:
импорт ос
ос.систем ('копирај извор.ткт одредиште.ткт)
Такође можете да користите уграђени кцопи Команда Виндовс терминала:
импорт ос
ос.систем ('кцопи соурце.ткт дестинатион.ткт)
Да бисте користили ос.систем метода на Линуку, замените копија са цп:
импорт ос
ос.систем ('цп соурце.ткт дестинатион.ткт)
Како копирати датотеке помоћу методе ос.попен
Да бисте користили овај метод, замените га ос.систем () са ос.попен ().
У оперативном систему Виндовс користите:
импорт ос
ос.попен ('копирај извор.ткт одредиште.ткт)
Као што смо и учинили са ос.систем (), заменити копија са цп да користимо овај метод на Линук-у:
импорт ос
ос.попен ('цп соурце.ткт дестинатион.ткт)
Како копирати датотеке помоћу Питхоновог подпроцесног модула
Поред горе наведених метода, можете користити и потпроцес () библиотека за копирање датотека у Питхону:
увозити потпроцес као сп
сп.цалл ("цопи соурцеФиле дестинатионФиле", љуска = Тачно)
Међутим, на Линуку користите:
увозити потпроцес као сп
сп.цалл ("цп соурцеФиле дестинатионФиле", љуска = Тачно)
Тхе потпроцес библиотека такође користи субпроцесс.цхецк_оут () метода. То делује на исти начин субпроцесс.цалл () ради:
увозити потпроцес као сп
сп.цхецк_оут ("цопи соурцеФиле дестинатионФиле", схелл = Труе)
На Линуку замените копија са цп:
увозити потпроцес као сп
сп.цхецк_оут ("цп соурцеФиле дестинатионФИле", љуска = Тачно)
Међутим, као и методе ос, методе потпроцеса раде само са датотекама у вашем тренутном радном директоријуму.
Белешка: Такође можете копирати датотеке у директоријум ако је у истом радном директоријуму као и изворна датотека. Све што треба да урадите је да замените име одредишне датотеке именом одредишне фасцикле. Међутим, уверите се да су одредишна фасцикла и изворна датотека у вашем тренутном радном директоријуму.
Како копирати датотеке у Питхону без употребе библиотека
Такође можете копирати датотеке у Питхону, без зависности од било које библиотеке. Попут методе схутил, требају вам само пуне путање изворног и одредишног директоријума.
Ево како то постићи:
соурцеПатх = "Ц: /Усерс/соурце_дирецториес/ми_фолдер/цопи.ткт"
дестинатионПатх = "Ц: /Усерс/соме_дирецториес/дестинатион_дирецториес/невФиле.ткт"
са отвореним (соурцеПатх, "рб") како се чита:
са отвореним (дестинатионПатх, "вб") као мој фајл:
мифиле.врите (реад.реад ())
До чине шифру вишекратном, можете га модификовати у функцију:
деф цопиФиле (извор = Ниједан, одредиште = Нема):
ако не (извор и одредиште) == Нема:
са отвореним (извор, "рб") како се чита:
са отвореним (одредиште, "вб") као моја датотека:
мифиле.врите (реад.реад ())
иначе:
принт ("Молимо унесите изворну и одредишну путању")
цопиФиле (соурцеПатх, дестинатионПатх)
То је то. Управо сте направили фотокопирни уређај за вишекратну употребу са Питхоном без употребе било које библиотеке.
Наставите да аутоматизујете задатке помоћу Питхона
Поред тога што вам помаже да останете усредсређени на свој код током израде пројеката, копирање датотека помоћу Питхона омогућава вам и боље разумевање управљања датотекама помоћу Питхона. Међутим, поигравање са Питхон задацима је начин да побољшате своје Питхон вештине, посебно ако сте почетник.
На пример, можете променити датум и време на рачунару помоћу ос модула. Ако желите, можете чак и да напишете прилагођене басх наредбе помоћу Питхона.
Да ли желите да направите сопствене програме за командну линију на Питхону, али вам је то превише тешко? Користите Цлицк, корисну Питхон алатку за поједностављивање кода.
- Програмирање
- Питхон
Идову је заљубљен у све паметне технологије и продуктивност. У слободно време игра се са кодирањем и пребацује се на шаховску таблу кад му је досадно, али такође воли да се повремено отргне од рутине. Његова страст да људима покаже пут око модерне технологије мотивише га да пише више.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.