Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Проверка существования файлов и директорий в Python — практическое руководство

Почему важна проверка существования пути

При создании надёжных Python-приложений часто нужно убедиться, что файл или директория присутствуют перед выполнением операций чтения, записи или удаления. Пропуск этой проверки может привести к ошибкам выполнения и неожиданным сбоям. Это руководство охватывает наиболее надёжные методы, основанные на официальной документации Python и лучших практиках.

Использование os.path.exists()

Модуль os.path, входящий в стандартную библиотеку, предоставляет простую функцию exists(), возвращающую True, если путь указывает на существующий файл или директорию. Это самый часто используемый метод для простых проверок существования.

import os
from os import path

print(path.exists('guru99.txt'))      # True, если файл существует
print(path.exists('myDirectory'))     # True, если директория существует

Типичный сценарий использования

def check_item(path_str):
    if path.exists(path_str):
        print(f"{path_str} exists.")
    else:
        print(f"{path_str} does not exist.")

Различение файлов и директорий

Для определения конкретного типа существующего пути Python предлагает две дополнительные функции: isfile() и isdir(). Они возвращают True только если путь является обычным файлом или директорией соответственно.

print(path.isfile('guru99.txt'))   # True, если это файл
print(path.isdir('myDirectory'))   # True, если это директория

Использование pathlib — современный подход

Введённый в Python 3.4, модуль pathlib предоставляет объектно-ориентированный интерфейс для путей файловой системы. Его объекты Path имеют методы exists(), is_file() и is_dir(), которые многие разработчики считают более читаемыми.

from pathlib import Path

file_path = Path('guru99.txt')
print(file_path.exists())    # True, если файл или директория существует
print(file_path.is_file())   # True, если это обычный файл
print(file_path.is_dir())    # True, если это директория

Рекомендуемые лучшие практики

Быстрая справка

ФункцияВозвращает True, если
os.path.exists()Путь или директория существуют
os.path.isfile()Путь — существующий обычный файл
os.path.isdir()Путь — существующая директория
pathlib.Path.exists()Путь или директория существуют (Python 3.4+)
pathlib.Path.is_file()Путь — существующий обычный файл
pathlib.Path.is_dir()Путь — существующая директория

Для подробной документации обратитесь к официальным модулям os.path и pathlib.

Python

  1. Работа с файлами в Python: открытие, чтение, запись и управление
  2. Управление директориями и файлами в Python: полное руководство
  3. Получение текущей даты и времени в Python: практическое руководство
  4. Проверка и калибровка датчика влажности для точных измерений
  5. Функция print() в Python: практическое руководство с примерами
  6. Печать в Python без перевода строки: мастерство параметра end и другие техники
  7. Python JSON: кодирование, декодирование и работа с файлами — практическое руководство
  8. Вычисление среднего значения в Python: практическое руководство
  9. Настройка среды разработки Python: Полное руководство по установке
  10. Ввод-вывод файлов в Python: полное руководство по операциям I/O