Python få filstørrelse fra systemet

Python få filstørrelse fra systemet
I Python er det flere metoder for å bestemme størrelsen på en fil. Det ser ut til å være metoder for effektivt å få størrelsen på et filobjekt ved å importere filen til Python og metoder for å få størrelsen på et filobjekt via OS -anrop via filsystemet ditt. Dine spesifikke krav vil velge din foretrukne metode. Du lærer hvordan du kan hente filstørrelse i Python i denne opplæringen.

Før vi utfører hver funksjon på en fil, må vi av og til sjekke filstørrelsen. For eksempel, hvis du prøver å gjenskape data fra en fil til en annen. Før vi gjennomfører filkopieringsprosessen, kan vi sjekke om filstørrelsen er mer enn 0. Vi bruker tre metoder i denne artikkelen: OS.banemodul, statsfunksjonen og filobjektet. I Python kan du få filstørrelsen på omtrent hvilken som helst måte du ønsker. Det er viktig å hente filstørrelsen i Python for å overvåke størrelsen på filen eller sortere filer i en katalog etter filstørrelse.

Eksempel 1:

Den første metoden for å bestemme filens størrelse er å bruke OS.sti.blir (). OS -modulen er også involvert. Denne modulen lar oss jobbe med filstier og kataloger i Python. Vi kan få tilgang til og endre stier ved hjelp av denne modulen. I forhold til OS.Stat (fil).ST -størrelse, implementering av OS.sti.Getize () er enkel og grei .Det hever et OS.Feil hvis filen på en eller annen måte ikke eksisterer eller ikke er tilgjengelig. GetSize -funksjonen i Pythons OS.Stiemodul aksepterer en filsti som en inngang og returnerer filens størrelse i byte. I dette tilfellet må vi spesifisere den nøyaktige filstien (absolutt bane), ikke en relativ bane.

Rotmappen er alltid i starten av en absolutt bane. Den absolutte banen inneholder hele kataloglisten som trengs for å finne filen. /Bruker/MyDocuments/Data/ABC.TXT er for eksempel en absolutt vei til ABC.txt -fil. Banestrengen inneholder all informasjonen som kreves for å få filen. Slektningen er kjent for å bidra til programmets nåværende arbeidskatalog. Som du ser, brukte vi GetSize -funksjonen for å få den nøyaktige størrelsen på filen etter import av OS -modulen. Etter det trykket vi utfallet.

Importer OS
S = OS.sti.blir ('d:/demo.tekst')
print ('Filstørrelse:', s, 'byte')

Utfallet av koden over er som følger.

Eksempel 2:

OS.Stat () Metode returnerer et objekt som inneholder mange filsystembeskrivelser av filen, for eksempel størrelsen, sist oppdatert tid, brukeridentifikasjon osv. Det er gunstig å bruke denne metoden for å lære mer om en fil. OS.Stat () er en funksjon som ligner på OS.sti. Det eneste argumentet for å bli () er filstien. OS -modulen i Python har en statsmetode som aksepterer en vei som et argument. Denne banen kan være en streng eller bare et baneobjekt, og den returnerer en struktur med statistisk informasjon om reisen. Blant de forskjellige egenskapene til denne strukturen inneholder St_Size -feltet størrelsen på en fil som er til stede på den spesifiserte banen.

Importer OS
S = OS.Stat ('D:/Demo.tekst')
Skriv ut ('Filstørrelse:', S.st_size, 'byte')

Følgende er koden.

Eksempel 3:

En mer pålitelig teknikk for å skaffe en fils størrelse i Python er å åpne filen som enten et filobjekt, søke på slutten av filen og lese markørens plassering på slutten av filen, som vil være lik størrelsen på i byte. I Python hjelper denne funksjonen med å bestemme størrelsen på et stort filobjekt i sanntid. Når vi har objektet som peker på filen, må vi gjennomføre trinnene nedenfor for å få filstørrelsen til å bruke denne metoden. Når en fil først åpnes, refererer filmarkøren til begynnelsen av filen.

Søkemetoden på filobjektet brukes til å flytte markøren til et bestemt sted. Det tar to argumenter, hvorav den første er markørens startsted, og den andre er markørens sluttsted. Hvis den første parameteren mangler, angir verdien som standard, noe som betyr at filen starter i begynnelsen. Bruk SEK -metoden for å flytte markøren til slutten av filen, med 0 som startverdi og OS som destinasjon. Søk slutt er sluttverdien, der Seek End er en OS -modulkonstant som indikerer filens slutt.

Importer OS
a = åpen ('d:/demo.tekst')
en.Søk (0, OS.Seek_end)
skriv ut ('filstørrelse:', a.Tell (), 'Byte')

Filstørrelsen kan sees nedenfor.

Konklusjon:

Vi forstår nå hvorfor det er avgjørende å få filstørrelse i Python når du rangerer filer etter størrelse eller i forskjellige andre scenarier. Filstørrelsesutgangen er alltid i byte. Verdien kan leveres i multipler av filsystemblokkstørrelsen for å gjøre fremtidig beregning enklere. Vi lærte å inspisere filstørrelsen ved å bruke flere innebygde funksjoner som Seek (), Tell (), ST_SIZE () og OS.sti.blir () i dette innlegget. Vi benyttet oss av noen unike programmerings- og filhåndteringskonsepter. Vi brukte Open () -metoden for å åpne filen, og deretter benyttet vi funksjoner for å sjekke filstørrelsen.