Python Shutil beveger seg

Python Shutil beveger seg

Programmeringsspråket kalt Python er veldig brukervennlig og enkelt å forstå. Python støtter mange pakker som involverer innebygde funksjoner som gjør koding, filoverføring og databehandling generelt mye enklere. En slik pakke kalles stengel. Shutil er en modul i Python Standard -biblioteket som tilhører kategorien File and Directory Access som Python 3.10. Denne Python -pakken, ofte kjent som Shell -verktøy, gjør det mulig for brukerne å utføre komplekse operasjoner på både individuelle filer og systemfiler. Det er et verktøy som støtter prosesser som involverer sletting eller kopiering av filer som kan automatiseres ved hjelp av denne modulen.

Syntaks:

Stengelen.MOVE () -funksjonen tar to parametere, nemlig kilden som godtar en strengtype som representerer kildefilens bane og destinasjonen som godtar et strengtype -argument som representerer destinasjonskatalogens bane. Funksjonen tar også en valgfri tredje parameter som heter Copy Function. Modulen angir Copy2 som standard kopieringsfunksjon. Det kan endres til en annen kopi -funksjon hvis den bedre samsvarer med dine behov. Hvis denne tredje parameteren holdes som standardverdi på Copy2, er Copy2 den forhåndsbestemte verdien for dette argumentet. For dette argumentet kan vi også bruke de alternative kopifunksjonene.
Funksjonen kopierer rekursivt en fil eller katalog fra ett sted (kilden) til et annet spesifisert sted (destinasjonen). Deretter kopierer den destinasjonen tilbake. Kilden flyttes inn i destinasjonskatalogen hvis en allerede finnes der.

Eksempel 1:

Eksempel 1 viser den mest grunnleggende bruken av denne funksjonen. Etter import av Shutil -modulen er "X" -variabelen satt til plasseringen av den gjeldende kildefilen. Mens "y" -variabelen er satt til ønsket sted der den nye destinasjonsfilen opprettes. Stengelen.MOVE () -funksjonen kalles med kilde- og destinasjonsparametere gitt gjennom variabler “x” og “y”. "Z" -variabelen inneholder den returnerte strengen som har destinasjonen for det flyttede kildeinnholdet.

Når de tidligere kodelinjene er kjørt, viser terminalen følgende resultat som vist i forrige bilde. Som forventet, filen som ble lagret på C: \ brukere \ AQSA \ Desktop \ Random.Tekststedet er nå flyttet til E -disken.

Som et resultat viser den forrige figuren at når disk e åpnes, blir filen som var på forrige sted nå sett på som ønsket.

Eksempel 2:

I dette eksemplet endres kopieringsfunksjonen som er Copy2 som standard til stenging.Kopier tre.

Den grunnleggende funksjonaliteten til stengelen.Copy Tree () Technique og Shutil.MOVE () Metode er å flytte en fil hvis målkatalogen allerede eksisterer.

Tidligere importerer vi Shutil -modulen før vi bruker noen av dens funksjoner. Den forrige koden kopierer innholdet i filen på kildeplassen til et allerede eksisterende filplassering. Vi bruker Copy Tree () -metoden fordi destinasjonen allerede er til stede. I likhet med eksempel 1 inneholder "x" og "y" -variablene kilde- og destinasjonsstedene til den aktuelle filen i strengformatet i strengformat. Stengelen.MOVE () Funksjonen kalles med kopieringsfunksjonen som er satt til stenging.Kopier tre. "Z" -variabelen inneholder utgangen fra funksjonen som er den nye plasseringen av filen som tidligere er lokalisert i "X" i strengformatet.

Den forrige figuren viser utdataene på terminalen som er den nye plasseringen av filen som flyttes. Enda viktigere er at filen på kildeplassen ikke blir slettet under flytting, i motsetning til i Copy2.

Eksempel 3:

I eksempel 3 ser vi skifting av flere mapper fra et sted til et annet ved hjelp av Shutil.bevege seg(). Følgende utdrag viser eksistensen av to filer kalt “Newfile.txt ”og“ tilfeldig.tekst". Disse to filene er for tiden lokalisert i C: \ Brukere \ AQSA \ Desktop \ 123.

I forrige kode benyttet vi oss av en annen modul som heter OS. Denne modulen, omtrent som Shutil -pakken, inneholder funksjoner for en katalogs (mappe) oppretting og fjerning, hente innholdet, endre og identifisere gjeldende katalog osv. For det første er det to stier lagret i henholdsvis "Path1" og "Path2" -variabler. Deretter kjøres en sløyfe slik at alle filene i “Path1” blir flyttet til “Path2”. Bevegelsen av filer gjøres ved hjelp av stengel.bevege seg().

Som det kan sees i forrige bilde, blir filene med hell flyttet til destinasjonsstedet mens de opprettholder orden.

Eksempel 4:

For dette eksemplet, bør du vurdere filen som heter “Random.txt ”som er lagret på disken E: \ mappeplassering. Ved å bruke koden i neste utdrag, oppretter vi en ny fil på et nytt sted med innholdet som er i “Random.tekst".

Når kilde- og destinasjonsstedene er lagret i variabler, nemlig “x” og “y”, lagrer vi filnavnet vårt i variabelfilen i form av en streng. Når dette er gjort, ved hjelp av OS -modulen, bruker vi en funksjon som heter OS.sti.splitext () der banenavnet til "fil" er delt inn i to deler - rot og utvidelse. I dette tilfellet er roten alt bortsett fra utvidelseskomponenten i den medfølgende banen. Mens EXT står for forlengelse og inneholder det stykket. Nå lagrer vi de to delene i separate variabler der den første delen av delingen A [0] som er banen til filen lagres i “Navn”. Mens den andre delen A [1] lagres i "format" som inneholder utvidelsen som i dette tilfellet er ".tekst". Nå blir den nye variabelen “B” sammen med strengene i “Navnet” og “Format” med tillegg av strengen “2.0 ”i mellom. Stiene i “Y” og “B” er sammen med OS -funksjonen som heter OS.sti.Bli med () og lagret i “C”. Når det er gjort, benytter vi oss av Shutil.Flytt () Funksjon for å flytte filen i kildestedet til “X + -fil” til destinasjonsstedet til “C”.

Det forrige utdraget viser at den nye filen som heter “Random2.0.txt ”i forrige kode er nå lagret på destinasjonsstedet.

Eksempel 5:

I dette femte eksemplet brukes de samme filene i eksempel 4 der de er på sitt nye sted som sett i eksempel 4. I dette eksemplet viser vi hvordan du overfører filene fra en liste som for øyeblikket er lokalisert i en mappe til en annen.

Den forrige koden viser kilde- og destinasjonsstedene som er lagret i “X1” og “Y1” -variabler. "Files_to_move" -listen inneholder elementene som er filenes navn. Ved hjelp av loopen kan vi krysse "files_to_move" -listen og flytte filene ved hjelp av stengelen.Flytt () Funksjon til destinasjonskilden som er lagret i “Y1”.

Som det kan sees i forrige bilde, blir filene med hell overført til deres nye beliggenhet.

Eksempel 6:

I vårt endelige eksempel vil vi bruke de samme filene som brukes i eksempel 5 for å flytte en fil hvis filnavnet inneholder en spesifikk streng.

I denne koden sørger vi for en tilleggsmodul som heter “Glob”. Som vanlig lagres kilde- og destinasjonsstedene. Vi har også en strengvariabel som heter "Format" som er nyttig for å bestemme filene som har ".txt ”-forlengelse. En liste over filer som samsvarer med utvidelsen som leveres i formatargumentet, returneres av globen.glob () funksjon. Deretter flytter neste trinn hver fil med stengelen.Flytt () Kommando ved hjelp av sløyfen.

Alle filer overføres med hell som sett i forrige utdrag.

Konklusjon

Shutil er et nyttig verktøy som kommer godt med og gir deg mer kontroll, spesielt når du manipulerer plasseringene til filer alle sammen. Shutil -modulen har mange funksjoner og hvorav den ene er funksjonen som heter Shutil.bevege seg(). Ved hjelp av denne modulen kan det brukes en rekke operasjoner på høyt nivå på filer og samlinger av filer da vi diskuterte flere eksempler angående dette konseptet i artikkelen.