Pythons avhengighet av eksterne filer er et avgjørende aspekt, det er lurt å ta hensyn til basis-/kildefilene før du utfører noen kode. Før du kjører et bestemt program, må du sørge for at kildefilene finnes på det angitte stedet.

Hver utvikler forstår behovet for å lage tilbakekallskoder, noe som kan spare et prorgram fra å mislykkes hvis en betingelse ikke er oppfylt. I Python er det flere måter å kontrollere om det finnes en fil; her er de beste metodene du bør vite om.

1. Prøv og unntatt utsagn

De prøv og unntatt setning sjekker en kommando og produserer en utgang. I koden nedenfor viser prøve setning vil prøve å åpne en fil (testfile.txt). Hvis Pythons prosessor er i stand til å finne filen, vil den åpne filen og skrive ut resultatet Filen er åpen og tilgjengelig for bruk.

prøve:
f = open ('testfile.txt')
print ("Filen er tilgjengelig for bruk")
f.close ()
unntatt IOError:
print ('Filen er ikke tilgjengelig')

Hvis det oppstår en feil, skrives resultatet ut Filen er ikke tilgjengelig. Når hele koden er samlet og kjørt, lukker den den åpne filen hvis den ble åpnet.

Pythons avhengighet av eksterne filer er et avgjørende aspekt, og du må ta hensyn til basis-/kildefilene før du utfører noen koder.

Før du utfører et bestemt program, må du kontrollere at kildefilene finnes på det spesifikke stedet.

2. Os.path.isfile (bane)

Python har et innebygd modul-OS som kan kalles til å samhandle med de underliggende filene, mappene og katalogene. Pythons os.path.isfile () metode kan brukes til å sjekke en katalog og hvis det finnes en bestemt fil.

Det første trinnet er å importere den innebygde funksjonen med importer os.path bibliotek. Den neste kommandoen sjekker om filen finnes på det spesifikke stedet.

importer os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python testfil.txt")

Utgangen returnerer ekte, ettersom filen finnes på det spesifikke stedet. Hvis filen ikke finnes, kommer Python tilbake Falsk.

3. Os.path.exists (bane)

På lignende grunner er import os bibliotekserklæring kan brukes til å kontrollere om katalogen finnes på systemet ditt.

Syntaksen er ganske enkel:

Importer os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

På samme måte som forrige trinn, hvis katalogen/mappen finnes på den angitte systembanen, returnerer Python ekte, og senere, Falsk, hvis katalogen/mappen ikke blir funnet.

I slekt: Lærer du Python? Slik kopierer du en fil

4. Os. Sti. Isdir (bane)

Akkurat som os.path.isfile og os.path.exists (), os.path.isdir () er en underfunksjon av os-biblioteket. Den eneste forskjellen her er at denne kommandoen bare fungerer for kataloger. Som forventet returnerer bruken av denne syntaksen en boolsk verdi basert på eksistensen av kataloger.

For eksempel:

import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

Utgangen er ekte, siden mappen/katalogen finnes på den angitte banen.

import os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

Utgangen er Falsk, siden mappen/katalogen ikke finnes på den angitte banen.

5. Pathlib.path.exists ()

Python 3.4 og nyere versjoner tilbyr Pathlib modul, som kan importeres ved hjelp av import funksjon. Pathlib fanger opp de nødvendige funksjonalitetene på ett sted, og gjør den tilgjengelig på forskjellige måter å bruke med baneobjektet.

Slik bruker du Pathlib:

import pathlib
file = pathlib. Sti (r "C: \ Users \ Wini Bhalla \ Desktop \ Python testfil.txt")
hvis file.exists ():
print ("Filen eksisterer")
ellers:
print ("Filen finnes ikke")

I henhold til eksistensen av filen, vil utgangen vise om filen finnes i den angitte banen eller ikke. Ideelt sett er koden i skrive ut uttalelsen kan endres i henhold til kravene i programmet

6. Os.listdir (bane)

De listdir metode i Python returnerer en liste over alle filene i en bestemt katalog, som spesifisert av brukeren. Imidlertid vil denne metoden ikke returnere filer som finnes i undermapper.

De listdir metoden godtar bare én parameter, filbanen. Ideelt sett vil filbanen være fil- og mappenavn du vil hente.

Den grunnleggende syntaksen inkluderer:

os.listdir (bane)

I eksemplet nedenfor kan du opprette en sløyfe for å gå gjennom alle filene som er oppført i katalogen, og deretter kontrollere om den spesifiserte filen er erklært med hvis uttalelse.

import os
path = r'C: \ Users \ Wini Bhalla \ Desktop '
filer = os.listdir (bane)
skrive ut (filer)

Denne koden vil skrive ut listen over filer som er tilgjengelige i den nåværende katalogen.

import os
path = r'C: \ Users \ Wini Bhalla \ Desktop 'filer = os.listdir (bane)
for f i filer:
hvis f == "test.txt":
print ("Filen eksisterer")
ellers:
print ("Filen finnes ikke")

Videre, når løkken kjøres, vil listdir fungere sammen med hvis setningslogikk vil bla gjennom listen over filer og skrive ut resultatene, avhengig av betingelsene som er bestått i skrive ut uttalelse.

I slekt: Bruk Loops With Lists i Python

7. Glob modul

De glob modulen matcher alle banenavnene med de angitte parameterne og gir deg kortfattet tilgang til filsystemet. Siden glob brukes til mønstermatching, kan du bruke den til å kontrollere filens status.

Det er to referanser til banen:

  • Absolutt bane: Bruk dette når du vil lete etter en fil i en annen katalog.
  • Relativ bane: Bruk dette når du ønsker å lete etter en fil i den nåværende katalogen.

Hvis filen blir funnet, kommer koden tilbake ekte, ellers kommer den tilbake Falsk.

Et eksempel på bruk av Glob:

import glob
hvis glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Filen eksisterer")
ellers:
print ("Filen finnes ikke")

Resultatet fra denne koden vil skrive ut resultatet hvis filen blir funnet.

8. Delprosess

Testkommandoen i delprosessmodulen er en effektiv måte å teste eksistensen av filer og kataloger på. Testkommandoene fungerer bare i Unix -baserte maskiner og ikke Windows -baserte OS -maskiner.

Du kan bruke følgende kommandoer i henhold til dine behov:

  • test -e: Sjekk eksistensen av en bane
  • test -f: Sjekk eksistensen av en fil
  • test-d: Sjekk om det finnes en mappe

Verifisere en bane med delprosess:

fra importprosessen for delprosesser
run (['test', '-e', 'testfile.txt']). returkode == 0
run (['test', '-e', 'im-not-here.txt']). returkode == 0

Denne koden kalles testfunksjonen etterfulgt av '-e' for å kontrollere eksistensen av en bane. Funksjonen viser Falsk for en ugyldig bane.

Verifisere en fil med delprosess:

run (['test', '-f', 'testfile.txt']). returkode == 0
run (['test', '-f', 'testdirectory']). returkode == 0

De '-f' funksjon tester eksistensen av en fil og returnerer Falsk for en katalog.

Verifisere en katalog med delprosess:

run (['test', '-d', 'testfile.txt']). returkode == 0
run (['test', '-d', 'testdirectory']). returkode == 0

De '-d' funksjon tester eksistensen av en katalog og returnerer Falsk for alle filspørringer i testkommandoen.

Hvilken kommando vil du bruke til å finne filene dine?

Python er et relativt lett å bruke språk, og det tilbyr mange alternativer for sluttbrukerne. For å kontrollere eksistensen av en (e) fil (er) kan du bruke hvilken som helst av prosedyrene som er oppført ovenfor.

Men hvis du er nybegynner, er det alltid måter å lære Python på. Siden Python er et stort språk, er det best å bruke litt tid på å forstå de forskjellige nyansene og kommandoene.

DelekvitringE -post
Hva gjør Python og hva kan det brukes til?

Python er ekstremt allsidig, med applikasjoner som spenner fra webutvikling til dataanalyse.

Les neste

Relaterte temaer
  • Programmering
  • Python
  • Kodetips
Om forfatteren
Wini Bhalla (41 artikler publisert)

Wini er en Delhi -basert forfatter, som har 2 års skriveerfaring. I løpet av skrivestundene har hun vært tilknyttet digitale markedsføringsbyråer og tekniske firmaer. Hun har skrevet innhold relatert til programmeringsspråk, skyteknologi, AWS, maskinlæring og mye mer. På fritiden liker hun å male, tilbringe tid med familien og reise til fjells når det er mulig.

Mer fra Wini Bhalla

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere