Python's afhankelijkheid van externe bestanden is een cruciaal aspect, het is verstandig om aandacht te besteden aan de basis-/bronbestanden voordat u code uitvoert. Voordat u een bepaald programma uitvoert, moet u ervoor zorgen dat uw bronbestanden op de opgegeven locatie aanwezig zijn.

Elke ontwikkelaar begrijpt de noodzaak om terugvalcodes te maken, die kunnen voorkomen dat een programma faalt in het geval dat niet aan een voorwaarde wordt voldaan. In Python zijn er verschillende manieren om te controleren of een bestand bestaat; hier zijn de beste methoden die u moet kennen.

1. Try and Except-verklaringen

De probeer en behalve statement controleert een commando en produceert een output. In de onderstaande code, de proberen statement zal proberen een bestand te openen (testbestand.txt). Als de processor van Python het bestand kan vinden, zal het het bestand openen en het resultaat afdrukken Bestand is geopend en beschikbaar voor gebruik.

proberen:
f = open('testbestand.txt')
print("Bestand is beschikbaar voor gebruik")
instagram viewer

f.sluiten()
behalve IOE-fout:
print('Bestand is niet toegankelijk')

Als er een fout wordt aangetroffen, wordt het resultaat afgedrukt Bestand is niet toegankelijk. Zodra de volledige code is gecompileerd en uitgevoerd, wordt het geopende bestand gesloten als het was geopend.

Python's afhankelijkheid van externe bestanden is een cruciaal aspect en je moet aandacht besteden aan de basis-/bronbestanden voordat je codes uitvoert.

Voordat u een bepaald programma uitvoert, moet u ervoor zorgen dat uw bronbestanden op de specifieke locatie aanwezig zijn.

2. Os.pad.isbestand (pad)

Python heeft een ingebouwde module OS die kan worden opgeroepen om te communiceren met de onderliggende bestanden, mappen en mappen. Python's os.path.isfile() methode kan worden gebruikt om een ​​map te controleren en of een specifiek bestand bestaat.

De eerste stap is om de ingebouwde functie te importeren met behulp van de import os.path bibliotheek. De volgende opdracht controleert of het bestand op de specifieke locatie bestaat.

import os.path
os.path.isfile (r"C:\Users\Wini Bhalla\Desktop\Python-testbestand.txt")

De uitvoer keert terug Waar, aangezien het bestand op de specifieke locatie bestaat. Als het bestand niet bestaat, zal Python terugkeren niet waar.

3. Os.pad.bestaat (pad)

Op soortgelijke gronden heeft de importeer os library statement kan worden gebruikt om te controleren of de directory op uw systeem bestaat.

De syntaxis is vrij eenvoudig:

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

Net als de vorige stap, als de map/map wordt gevonden op het opgegeven systeempad, geeft Python terug: Waar, en vervolgens, niet waar, als de directory/map niet wordt gevonden.

Verwant: Python leren? Hier leest u hoe u een bestand kopieert

4. Os. Pad. Isdir (pad)

Net als os.path.isfile en os.pad.bestaat(), os.pad.isdir() is een subfunctie van de os-bibliotheek. Het enige verschil hier is dat deze opdracht alleen voor mappen werkt. Zoals verwacht, retourneert het gebruik van deze syntaxis een booleaanse waarde op basis van het bestaan ​​van mappen.

Bijvoorbeeld:

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

De uitvoer is: Waar, aangezien de map/directory bestaat op het opgegeven pad.

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

De uitvoer is: niet waar, aangezien de map/directory niet bestaat op het opgegeven pad.

5. Pathlib.path.exists()

Python 3.4 en hoger versies bieden de Pathlib module, die kan worden geïmporteerd met behulp van de importeren functie. Pathlib legt de benodigde functionaliteiten op één plek vast en stelt deze via verschillende methoden beschikbaar voor gebruik met het padobject.

Pathlib gebruiken:

importeer padlib
bestand = padlib. Pad (r"C:\Users\Wini Bhalla\Desktop\Python-testbestand.txt")
als bestand.bestaat ():
print ("Bestand bestaat")
anders:
print ("Bestand bestaat niet")

Afhankelijk van het bestaan ​​van het bestand, wordt in de uitvoer weergegeven of het bestand al dan niet bestaat in het opgegeven pad. Idealiter is de code in de afdrukken verklaring kan worden gewijzigd, volgens de vereisten van uw programma

6. Os.lijstmap (pad)

De lijstmap methode in Python retourneert een lijst van alle bestanden in een specifieke map, zoals gespecificeerd door de gebruiker. Deze methode retourneert echter geen bestanden die in submappen bestaan.

De lijstmap methode accepteert slechts één parameter, het bestandspad. Idealiter zijn het bestandspad de bestands- en mapnamen die u wilt ophalen.

De basissyntaxis omvat:

os.listdir (pad)

In het onderstaande voorbeeld kunt u een lus maken om alle bestanden in de map te doorlopen en vervolgens controleren of het opgegeven bestand bestaat dat is gedeclareerd met de indien uitspraak.

importeer os
path = r'C:\Gebruikers\Wini Bhalla\Desktop'
bestanden = os.listdir (pad)
afdrukken (bestanden)

Deze code drukt de lijst met bestanden af ​​die beschikbaar zijn in de huidige map.

importeer os
path = r'C:\Users\Wini Bhalla\Desktop' files = os.listdir (pad)
voor f in bestanden:
if f == "test.txt":
print("Bestand bestaat")
anders:
print("Bestand bestaat niet")

Verderop, wanneer de lus wordt uitgevoerd, wordt de lijstmap functie samen met de indien verklaringslogica zal door de lijst met bestanden bladeren en de resultaten afdrukken, afhankelijk van de voorwaarden die zijn doorgegeven binnen de afdrukken uitspraak.

Verwant: Loops gebruiken met lijsten in Python

7. Glob-module

De globaal module komt overeen met alle padnamen met de opgegeven parameters en geeft u beknopt toegang tot het bestandssysteem. Aangezien glob wordt gebruikt voor patroonovereenkomst, kunt u het gebruiken om de status van een bestand te controleren.

Er zijn twee verwijzingen naar het pad:

  • Absoluut pad: Gebruik dit als u een bestand in een andere map wilt zoeken.
  • Relatief pad: Gebruik dit wanneer u wil een bestand zoeken in de huidige map.

Als het bestand wordt gevonden, keert de code terug Waar, anders komt het terug niet waar.

Een voorbeeld van het gebruik van Glob:

glob importeren
if glob.glob (r"C:\Users\Wini Bhalla\Desktop\test.txt"):
print ("Bestand bestaat")
anders:
print("Bestand bestaat niet")

De uitvoer van deze code zal het resultaat afdrukken als het bestand wordt gevonden.

8. Subproces

Het testcommando in de subprocesmodule is een efficiënte manier om het bestaan ​​van bestanden en mappen te testen. De testopdrachten werken alleen op Unix-gebaseerde machines en niet op Windows-gebaseerde OS-machines.

U kunt de volgende opdrachten gebruiken volgens uw behoeften:

  • test -e: Controleer het bestaan ​​van een pad
  • test -f: Controleer het bestaan ​​van een bestand
  • test-d: Controleer het bestaan ​​van een map

Een pad verifiëren met een subproces:

van subproces import run
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'im-not-here.txt']).returncode == 0

Deze code noemde de testfunctie gevolgd door '-e' om het bestaan ​​van een pad te verifiëren. De functie toont: niet waar voor een ongeldig pad.

Een bestand verifiëren met een subproces:

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

De '-F' functie test het bestaan ​​van een bestand en geeft terug niet waar voor een adresboek.

Een directory verifiëren met een subproces:

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

De '-NS' functie test het bestaan ​​van een map en geeft terug niet waar voor elke bestandsquery in de testopdracht.

Welke opdracht ga je gebruiken om je bestanden te lokaliseren?

Python is een relatief eenvoudig te gebruiken taal en biedt de eindgebruikers veel opties. Om het bestaan ​​van een bestand(en) te controleren, kunt u een van de bovenstaande procedures gebruiken.

Als je echter een beginner bent, zijn er altijd manieren om Python te leren. Omdat Python een enorme taal is, is het het beste om wat tijd te besteden aan het begrijpen van de verschillende nuances en het scala aan opdrachten.

DeelTweetenE-mail
Wat doet Python en waarvoor kan het worden gebruikt?

Python is extreem veelzijdig, met toepassingen variërend van webontwikkeling tot data-analyse.

Lees volgende

Gerelateerde onderwerpen
  • Programmeren
  • Python
  • Codeertips
Over de auteur
Wini Bhalla (41 artikelen gepubliceerd)

Wini is een schrijver uit Delhi en heeft 2 jaar schrijfervaring. Tijdens haar schrijfstages is ze in verband gebracht met digitale marketingbureaus en technische bedrijven. Ze heeft inhoud geschreven met betrekking tot programmeertalen, cloudtechnologie, AWS, Machine Learning en nog veel meer. In haar vrije tijd houdt ze ervan om te schilderen, tijd door te brengen met haar familie en zoveel mogelijk naar de bergen te reizen.

Meer van Wini Bhalla

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren