Pythons beroende av externa filer är en avgörande aspekt, det är klokt att ta hänsyn till bas-/källfilerna innan du kör någon kod. Innan du kör ett visst program måste du se till att dina källfiler finns på den angivna platsen.

Varje utvecklare förstår behovet av att skapa reservkoder, vilket kan rädda ett förprogram från att misslyckas om ett villkor inte uppfylls. I Python finns det flera sätt att kontrollera om det finns en fil; här är de bästa metoderna du borde veta om.

1. Försök med undantag av uttalanden

De försök och förutom att satsen kontrollerar ett kommando och ger en utgång. I koden nedan, Prova uttalande försöker öppna en fil (testfile.txt). Om Pythons processor kan hitta filen öppnas filen och skrivs ut resultatet Filen är öppen och tillgänglig för användning.

Prova:
f = open ('testfile.txt')
print ("Filen är tillgänglig för användning")
f.close ()
utom IOError:
print ('Filen är inte tillgänglig')

Om det uppstår ett fel kommer resultatet att skrivas ut Filen är inte tillgänglig. När hela koden har sammanställts och körts stängs den öppna filen om den öppnades.

instagram viewer

Pythons beroende av externa filer är en avgörande aspekt, och du måste ta hänsyn till bas-/källfilerna innan du kör några koder.

Innan du kör ett visst program, se till att dina källfiler finns på den specifika platsen.

2. Os.path.isfile (sökväg)

Python har ett inbyggt modul-OS som kan uppmanas att interagera med de underliggande filerna, mapparna och katalogerna. Pythons os.path.isfile () metod kan användas för att kontrollera en katalog och om det finns en specifik fil.

Det första steget är att importera den inbyggda funktionen med importera os.path bibliotek. Nästa kommando kontrollerar om filen finns på den specifika platsen.

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

Utgången återkommer Sann, eftersom filen finns på den specifika platsen. Om filen inte finns kommer Python tillbaka Falsk.

3. Os.path.exists (sökväg)

På liknande grunder är importera os biblioteksuttalande kan användas för att kontrollera om katalogen finns på ditt system.

Syntaxen är ganska enkel:

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

Precis som föregående steg, om katalogen/mappen finns på den angivna systemvägen, återvänder Python Sann, och därefter Falsk, om katalogen/mappen inte hittas.

Relaterad: Lär dig Python? Så här kopierar du en fil

4. Os. Väg. Isdir (sökväg)

Precis som os.path.isfilen och os.path.exists (), os.path.isdir () är en underfunktion i os-biblioteket. Den enda skillnaden här är att det här kommandot bara fungerar för kataloger. Som förväntat returnerar användningen av denna syntax ett booleskt värde baserat på förekomsten av kataloger.

Till exempel:

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

Utgången är Sann, eftersom mappen/katalogen finns på den angivna sökvägen.

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

Utgången är Falsk, eftersom mappen/katalogen inte finns på den angivna sökvägen.

5. Pathlib.path.exists ()

Python 3.4 och senare versioner erbjuder Pathlib modul, som kan importeras med importera fungera. Pathlib fångar de nödvändiga funktionaliteterna på ett ställe och gör det tillgängligt med olika metoder att använda med sökobjektet.

Så här använder du Pathlib:

importera sökväg
file = pathlib. Sökväg (r "C: \ Users \ Wini Bhalla \ Desktop \ Python testfil.txt")
if file.exists ():
print ("Filen finns")
annan:
print ("Filen finns inte")

Enligt existensen av filen kommer utdata att visa om filen finns i den angivna sökvägen eller inte. Helst är koden i skriva ut uttalande kan ändras enligt kraven i ditt program

6. Os.listdir (sökväg)

De listdir metod i Python returnerar en lista över alla filer i en specifik katalog, enligt användarens specificering. Denna metod returnerar dock inga filer som finns i undermappar.

De listdir metoden accepterar bara en parameter, filsökvägen. Helst är sökvägen fil- och mappnamn som du vill hämta.

Den grundläggande syntaxen inkluderar:

os.listdir (sökväg)

I exemplet nedan kan du skapa en loop för att gå igenom alla filer som listas i katalogen och sedan kontrollera om det finns en angiven fil som deklareras med om påstående.

importera os
path = r'C: \ Users \ Wini Bhalla \ Desktop '
filer = os.listdir (sökväg)
skriva ut (filer)

Denna kod kommer att skriva ut listan över filer som är tillgängliga i den aktuella katalogen.

importera os
sökväg = r'C: \ Användare \ Wini Bhalla \ Desktop 'filer = os.listdir (sökväg)
för f i filer:
om f == "test.txt":
print ("Filen finns")
annan:
print ("Filen finns inte")

Vidare, när slingan körs, kommer listdir fungerar tillsammans med om satslogik kommer att bläddra igenom listan över filer och skriva ut resultaten, beroende på de villkor som passerar inom skriva ut påstående.

Relaterad: Använd loopar med listor i Python

7. Glob -modul

De glob modulen matchar alla sökvägar med de angivna parametrarna och ger dig kortfattad åtkomst till filsystemet. Eftersom glob används för mönstermatchning kan du använda den för att kontrollera en fils status.

Det finns två referenser till sökvägen:

  • Absolut väg: Använd detta när du vill leta efter en fil i en annan katalog.
  • Relativ väg: Använd detta när du vill leta efter en fil i den aktuella katalogen.

Om filen hittas kommer koden att återvända Sannannars kommer den tillbaka Falsk.

Ett exempel på Globs användning:

importera glob
om glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Filen finns")
annan:
print ("Filen finns inte")

Resultatet från denna kod kommer att skriva ut resultatet om filen hittas.

8. Delprocess

Testkommandot i delprocessmodulen är ett effektivt sätt att testa förekomsten av filer och kataloger. Testkommandona fungerar bara i Unix -baserade maskiner och inte Windows -baserade OS -maskiner.

Du kan använda följande kommandon enligt dina behov:

  • test -e: Kontrollera att det finns en väg
  • test -f: Kontrollera att det finns en fil
  • test-d: Kontrollera att det finns en mapp

Verifiera en sökväg med delprocess:

från underprocessimportkörning
run (['test', '-e', 'testfile.txt']). returkod == 0
run (['test', '-e', 'im-not-here.txt']). returkod == 0

Denna kod kallas testfunktionen följt av '-e' för att verifiera att det finns en väg. Funktionen visar Falsk för en ogiltig sökväg.

Verifiera en fil med delprocess:

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

De '-f' funktion testar förekomsten av en fil och returnerar Falsk för en katalog.

Verifiera en katalog med delprocess:

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

De '-d' funktion testar förekomsten av en katalog och returnerar Falsk för alla filfrågor i testkommandot.

Vilket kommando kommer du att använda för att hitta dina filer?

Python är ett relativt lättanvänt språk, och det erbjuder många alternativ för slutanvändarna. För att kontrollera att det finns en eller flera filer kan du använda någon av procedurerna ovan.

Men om du är nybörjare finns det alltid sätt att lära sig Python. Eftersom Python är ett stort språk är det bäst att ägna lite tid åt att förstå de olika nyanserna och dess kommando.

Dela med sigTweetE-post
Vad gör Python och vad kan det användas till?

Python är extremt mångsidig, med applikationer som sträcker sig från webbutveckling till dataanalys.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Pytonorm
  • Kodningstips
Om författaren
Wini Bhalla (41 artiklar publicerade)

Wini är en författare i Delhi som har två års erfarenhet av att skriva. Under hennes skrivstunder har hon varit associerad med digitala marknadsföringsbyråer och tekniska företag. Hon har skrivit innehåll relaterat till programmeringsspråk, molnteknik, AWS, maskininlärning och mycket mer. På fritiden gillar hon att måla, spendera tid med sin familj och resa till bergen, när det är möjligt.

Mer från Wini Bhalla

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera