Ga naar hoofdinhoud

Controleren of een bestand bestaat in Python

Leer in deze eenvoudige tutorial hoe je in Python controleert of een bestand bestaat

Verken met AI

In Python is het controleren of een bestand bestaat voordat je het gebruikt een veelvoorkomende taak, zeker als je programmatisch bestandsbewerkingen uitvoert zoals het lezen of schrijven van data over een groot aantal bestanden. In deze tutorial laat ik je drie effectieve methoden zien om te controleren of een bestand bestaat in Python.

Drie methoden om te controleren of een bestand bestaat in Python

Er zijn verschillende manieren om in Python te verifiëren of een bestand bestaat, elk geschikt voor andere scenario’s en programmeerstijlen. Hieronder bekijken we drie gangbare methoden die je kunt gebruiken om te checken of bestanden bestaan.

Vereisten: Inzicht in de huidige map

In deze tutorial kijk ik naar manieren om te verifiëren of het bestand my_file.txt wordt opgeslagen in de map my_data. Voordat we dat doen, is het echter essentieel om te begrijpen hoe je huidige mappenstructuur eruitziet, zodat je effectief door de directory kunt navigeren. Hier zijn een paar standaardfuncties om je te helpen door je mappen en directory te navigeren.

Haal je huidige directory op met os.getcwd()

Om in Python de huidige werkmap op te halen, kun je de functie getcwd() uit het pakket os gebruiken. Deze functie retourneert een tekenreeks die het pad van de huidige werkmap weergeeft. Bijvoorbeeld:

import os

# Get the current working directory
current_directory = os.getcwd()
print("The current working directory is:", current_directory)

Lijst alle bestanden & mappen in je directory met os.listdir()

Om alle mappen en bestanden in de huidige directory in Python op te sommen, kun je de functie listdir() uit het os-pakket gebruiken. Deze functie retourneert een lijst met de namen van de items in de directory die door het pad is opgegeven. In mijn huidige directory staan bijvoorbeeld zowel de map my_data als een dataset genaamd airbnb_data.csv. Hier gebruik ik listdir() om ze op te sommen:

import os

# Get the current working directory
current_directory = os.getcwd()

# List all files and folders in the current directory
entries = os.listdir(current_directory)
print(entries) # Returns ['my_data, 'airbnb_data.csv'] 

Methode 1: De functie os.path.exists() gebruiken

Nu we hebben geleerd hoe we door directories kunnen navigeren, laten we controleren of sommige bestanden bestaan! De functie os.path.exists() van de module os is een eenvoudige manier om te controleren of een bestand of directory bestaat. Het is makkelijk te gebruiken en te begrijpen. Hier gebruik ik een if-statement dat “This file exists.” retourneert als het bestand my_file.txt aanwezig is in my_data, en ”This file does not exist” anders.

import os

# Specify the file path
file_path = 'my_data/my_file.txt'

# Check if the file exists
if os.path.exists(file_path):
   print("The file exists.")
else:
   print("The file does not exist.")

Methode 2: De functie pathlib.Path.exists() gebruiken

Voor een modernere, objectgeoriënteerde aanpak kun je met de methode Path.exists() uit het pakket pathlib intuïtiever met paden werken, volledig geïntegreerd met de bestandsverwerkingsfeatures van Python.

from pathlib import Path

# Create a Path object
file_path = Path('my_data/my_file.txt')

# Check if the file exists
if file_path.exists():
   print("The file exists.")
else:
   print("The file does not exist.")

Methode 3: Een try-except-blok gebruiken bij het openen van een bestand

Een andere methode is een try-except-blok gebruiken in combinatie met de functie open() om het bestand te openen terwijl je controleert of het bestaat. Deze methode combineert de bestaanstest efficiënt met bestands­toegang.

try:
    # Attempt to open the file
    with open('my_data/my_file.txt', 'r') as file:
        print("The file exists.")
except FileNotFoundError:
    print("The file does not exist.")

Conclusie

Samengevat biedt Python meerdere methoden om te controleren of een bestand in een directory bestaat. De keuze hangt af van je programmeerstijl en usecase! Wil je meer leren over Python? Bekijk dan onze tutorial How to Exit Python, of How to Convert a String to an Integer in Python.

Onderwerpen

Gerelateerd