Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Bestands- en directory-bestaat controleren in Python – Een praktische gids

Waarom controleren op pad-bestaat belangrijk is

Bij het bouwen van robuuste Python-applicaties moet je vaak bevestigen of een bestand of directory aanwezig is voordat je operaties zoals lezen, schrijven of verwijderen uitvoert. Het overslaan van deze check kan leiden tot runtime errors en onverwachte crashes. Deze gids dekt de meest betrouwbare methoden, afkomstig van de officiële Python-documentatie en best-practice patronen.

os.path.exists() gebruiken

De os.path module, onderdeel van de standaardbibliotheek, biedt een eenvoudige exists() functie die True retourneert als een pad verwijst naar een bestaand bestand of directory. Het is de meest gebruikte methode voor eenvoudige bestaanschecks.

import os
from os import path
print(path.exists('guru99.txt'))  # True als het bestand bestaat
print(path.exists('myDirectory'))  # True als de directory bestaat

Typisch Use-Case

def check_item(path_str):
    if path.exists(path_str):
        print(f"{path_str} bestaat.")
    else:
        print(f"{path_str} bestaat niet.")

Bestanden van directories onderscheiden

Om het specifieke type van een bestaand pad te identificeren, biedt Python twee complementaire functies: isfile() en isdir(). Ze retourneren True alleen als het pad een regulier bestand of een directory is, respectievelijk.

print(path.isfile('guru99.txt'))  # True als het een bestand is
print(path.isdir('myDirectory'))  # True als het een directory is

pathlib benutten – De moderne aanpak

Geïntroduceerd in Python 3.4, biedt de pathlib module een object-georiënteerde interface voor filesystem-paden. De Path objecten bieden methoden zoals exists(), is_file() en is_dir(), wat veel ontwikkelaars meer leesbaar vinden.

from pathlib import Path
file_path = Path('guru99.txt')
print(file_path.exists())  # True als bestand of directory bestaat
print(file_path.is_file())  # True als het een regulier bestand is
print(file_path.is_dir())  # True als het een directory is

Aanbevolen best practices

  • Importeer de module één keer; vermijd herhaalde imports.
  • Gebruik Path objecten voor nieuwe projecten om te profiteren van duidelijke syntax.
  • Bij schrijfoperaties, check eerst bestaan om overschrijven te voorkomen of directories aan te maken met Path.mkdir().
  • Afvangen van FileNotFoundError exceptions bij toegang tot paden die tussen checks en operaties kunnen veranderen.

Snelle referentie

FunctieRetourneert True Als
os.path.exists()Pad of directory bestaat
os.path.isfile()Pad is een bestaand regulier bestand
os.path.isdir()Pad is een bestaande directory
pathlib.Path.exists()Pad of directory bestaat (Python 3.4+)
pathlib.Path.is_file()Pad is een bestaand regulier bestand
pathlib.Path.is_dir()Pad is een bestaande directory

Gedetailleerde documentatie: officiële os.path en pathlib modules.

Python

  1. Je vochtigheidssensor verifiëren en kalibreren voor nauwkeurige metingen
  2. Uitgebreide Gids voor het Inspecteren van Industriële Remmen voor Veiligheid en Efficiëntie
  3. Python-bestands-I/O: bestandsbewerkingen, lezen, schrijven en beheer beheersen
  4. Python-directory en bestandsbewerkingen beheersen
  5. Huidige datum en tijd ophalen in Python: een praktische gids
  6. Python print()-functie: Praktische handleiding met voorbeelden
  7. Python print zonder newline: de end-parameter & andere technieken beheersen
  8. Python JSON: Encoding, Decoding en Bestandsafhandeling – Een Praktische Gids
  9. Gemiddeldes Berekenen in Python: Een Praktische Gids
  10. Uitgebreide Gids voor het Opzetten van je Python Ontwikkelomgeving
  11. Python Bestands I/O: In- en uitvoerbewerkingen onder de knie krijgen